Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomPage.qml
| /* | /* | ||||
| * This file is part of kazv. | * This file is part of kazv. | ||||
| * SPDX-FileCopyrightText: 2023 tusooa <tusooa@kazv.moe> | * SPDX-FileCopyrightText: 2023 tusooa <tusooa@kazv.moe> | ||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| */ | */ | ||||
| import QtQuick 2.3 | import QtQuick 2.3 | ||||
| import QtQuick.Layouts 1.15 | import QtQuick.Layouts 1.15 | ||||
| import QtTest 1.0 | import QtTest 1.0 | ||||
| import '../../contents/ui' as Kazv | import '../../contents/ui' as Kazv | ||||
| import 'test-helpers.js' as Helpers | import 'test-helpers.js' as JsHelpers | ||||
| import 'test-helpers' as TestHelpers | import 'test-helpers' as QmlHelpers | ||||
| import moe.kazv.mxc.kazv 0.0 as MK | import moe.kazv.mxc.kazv 0.0 as MK | ||||
| Item { | QmlHelpers.TestItem { | ||||
| id: item | id: item | ||||
| width: 800 | |||||
| height: 600 | |||||
| property var mockHelper: TestHelpers.MockHelper {} | |||||
| property var roomTimeline: QtObject { | property var roomTimeline: QtObject { | ||||
| property var count: 5 | property var count: 5 | ||||
| function at(i) { | function at(i) { | ||||
| if (i < 2) { | if (i < 2) { | ||||
| return { | return { | ||||
| isLocalEcho: true, | isLocalEcho: true, | ||||
| }; | }; | ||||
| } | } | ||||
| if (i < 3) { | if (i < 3) { | ||||
| return { | return { | ||||
| isLocalEcho: false, | isLocalEcho: false, | ||||
| sender: '@foo:example.org', | sender: '@foo:example.org', | ||||
| eventId: `$event${i}`, | eventId: `$event${i}`, | ||||
| }; | }; | ||||
| } | } | ||||
| return { | return { | ||||
| isLocalEcho: false, | isLocalEcho: false, | ||||
| sender: '@bar:example.org', | sender: '@bar:example.org', | ||||
| eventId: `$event${i}`, | eventId: `$event${i}`, | ||||
| }; | }; | ||||
| } | } | ||||
| } | } | ||||
| property var roomInvite: Helpers.factory.room({ | property var roomInvite: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Invite, | membership: MK.MatrixRoom.Invite, | ||||
| }) | }) | ||||
| property var roomJoin: Helpers.factory.room({ | property var roomJoin: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| paginateBackFrom: mockHelper.promise(), | paginateBackFrom: mockHelper.promise(), | ||||
| pinnedEventsTimeline: () => ({ | pinnedEventsTimeline: () => ({ | ||||
| count: 0, | count: 0, | ||||
| }), | }), | ||||
| }) | }) | ||||
| property var roomLeave: Helpers.factory.room({ | property var roomLeave: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Leave, | membership: MK.MatrixRoom.Leave, | ||||
| }) | }) | ||||
| property var roomWithPinned: Helpers.factory.room({ | property var roomWithPinned: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| paginateBackFrom: mockHelper.promise(), | paginateBackFrom: mockHelper.promise(), | ||||
| pinnedEventsTimeline: () => ({ | pinnedEventsTimeline: () => ({ | ||||
| count: 1, | count: 1, | ||||
| }), | }), | ||||
| }) | }) | ||||
| property var l10n: Helpers.fluentMock | |||||
| property var matrixSdk: TestHelpers.MatrixSdkMock { | |||||
| property var userId: '@foo:example.org' | |||||
| } | |||||
| property var sdkVars: ({}) | |||||
| ColumnLayout { | ColumnLayout { | ||||
| Kazv.RoomPage { | Kazv.RoomPage { | ||||
| id: pageInvite | id: pageInvite | ||||
| room: roomInvite | room: roomInvite | ||||
| } | } | ||||
| Kazv.RoomPage { | Kazv.RoomPage { | ||||
| id: pageJoin | id: pageJoin | ||||
| Show All 12 Lines | QmlHelpers.TestItem { | ||||
| } | } | ||||
| TestCase { | TestCase { | ||||
| id: roomPageTest | id: roomPageTest | ||||
| name: 'RoomPageTest' | name: 'RoomPageTest' | ||||
| when: windowShown | when: windowShown | ||||
| function init() { | function init() { | ||||
| matrixSdk.userId = '@foo:example.org'; | |||||
| mockHelper.clearAll(); | mockHelper.clearAll(); | ||||
| } | } | ||||
| function test_inviteRoom() { | function test_inviteRoom() { | ||||
| const sendMessageBox = findChild(pageInvite, 'sendMessageBox'); | const sendMessageBox = findChild(pageInvite, 'sendMessageBox'); | ||||
| verify(sendMessageBox); | verify(sendMessageBox); | ||||
| verify(!sendMessageBox.enabled); | verify(!sendMessageBox.enabled); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines | |||||