Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomSettingsPage.qml
| /* | /* | ||||
| * This file is part of kazv. | * This file is part of kazv. | ||||
| * SPDX-FileCopyrightText: 2024 tusooa <tusooa@kazv.moe> | * SPDX-FileCopyrightText: 2024 tusooa <tusooa@kazv.moe> | ||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
| */ | */ | ||||
| import QtQuick 2.15 | import QtQuick 2.15 | ||||
| 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 '../../contents/ui/room-settings' as KazvRS | import '../../contents/ui/room-settings' as KazvRS | ||||
| import moe.kazv.mxc.kazv 0.0 as MK | import moe.kazv.mxc.kazv 0.0 as MK | ||||
| import 'test-helpers.js' as Helpers | import 'test-helpers.js' as JsHelpers | ||||
| import 'test-helpers' as TestHelpers | import 'test-helpers' as QmlHelpers | ||||
| Item { | QmlHelpers.TestItem { | ||||
| id: item | id: item | ||||
| width: 800 | |||||
| height: 600 | |||||
| property var mockHelper: TestHelpers.MockHelper {} | property var roomUnencrypted: JsHelpers.factory.room({ | ||||
| property var roomUnencrypted: Helpers.factory.room({ | |||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| encrypted: false, | encrypted: false, | ||||
| sendStateEvent: mockHelper.promise(), | sendStateEvent: mockHelper.promise(), | ||||
| }) | }) | ||||
| property var roomEncrypted: Helpers.factory.room({ | property var roomEncrypted: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| encrypted: true, | encrypted: true, | ||||
| }) | }) | ||||
| property var roomLeft: Helpers.factory.room({ | property var roomLeft: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Leave, | membership: MK.MatrixRoom.Leave, | ||||
| forgetRoom: mockHelper.promise(), | forgetRoom: mockHelper.promise(), | ||||
| }) | }) | ||||
| property var roomJoined: Helpers.factory.room({ | property var roomJoined: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| leaveRoom: mockHelper.promise(), | leaveRoom: mockHelper.promise(), | ||||
| topic: '', | topic: '', | ||||
| }) | }) | ||||
| property var roomWithMembers: Helpers.factory.room({ | property var roomWithMembers: JsHelpers.factory.room({ | ||||
| name: 'some name', | name: 'some name', | ||||
| roomId: '!someid:example.com', | roomId: '!someid:example.com', | ||||
| members: () => ({ | members: () => ({ | ||||
| at(index) { | at(index) { | ||||
| return { | return { | ||||
| userId: `@u${index}:example.com`, | userId: `@u${index}:example.com`, | ||||
| name: `user ${index}`, | name: `user ${index}`, | ||||
| }; | }; | ||||
| }, | }, | ||||
| count: 5 | count: 5 | ||||
| }), | }), | ||||
| setName: mockHelper.promise(), | setName: mockHelper.promise(), | ||||
| }) | }) | ||||
| property var roomWithoutName: Helpers.factory.room({ | property var roomWithoutName: JsHelpers.factory.room({ | ||||
| name: '', | name: '', | ||||
| roomId: '!someid:example.com', | roomId: '!someid:example.com', | ||||
| }) | }) | ||||
| property var roomWithTopic: Helpers.factory.room({ | property var roomWithTopic: JsHelpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| topic: 'some topic', | topic: 'some topic', | ||||
| setTopic: mockHelper.promise(), | setTopic: mockHelper.promise(), | ||||
| }) | }) | ||||
| property var showPassiveNotification: mockHelper.noop() | |||||
| property var l10n: Helpers.fluentMock | |||||
| property var matrixSdk: TestHelpers.MatrixSdkMock { | |||||
| property var userId: '@foo:example.org' | |||||
| } | |||||
| property var sdkVars: ({}) | |||||
| ColumnLayout { | ColumnLayout { | ||||
| KazvRS.RoomSettingsPage { | KazvRS.RoomSettingsPage { | ||||
| id: pageUnencrypted | id: pageUnencrypted | ||||
| room: item.roomUnencrypted | room: item.roomUnencrypted | ||||
| } | } | ||||
| KazvRS.RoomSettingsPage { | KazvRS.RoomSettingsPage { | ||||
| id: pageEncrypted | id: pageEncrypted | ||||
| Show All 30 Lines | TestCase { | ||||
| id: roomSettingsPageTest | id: roomSettingsPageTest | ||||
| name: 'RoomSettingsPageTest' | name: 'RoomSettingsPageTest' | ||||
| when: windowShown | when: windowShown | ||||
| function initTestCase() { | function initTestCase() { | ||||
| pageJoined.contentItem.clip = false; | pageJoined.contentItem.clip = false; | ||||
| pageWithTopic.contentItem.clip = false; | pageWithTopic.contentItem.clip = false; | ||||
| pageWithMembers.contentItem.clip = false; | pageWithMembers.contentItem.clip = false; | ||||
| item.matrixSdk.userId = '@foo:example.org'; | |||||
| } | } | ||||
| function init() { | function init() { | ||||
| pageJoined.submittingTopic = false; | pageJoined.submittingTopic = false; | ||||
| pageJoined.editingTopic = false; | pageJoined.editingTopic = false; | ||||
| pageWithTopic.submittingTopic = false; | pageWithTopic.submittingTopic = false; | ||||
| pageWithTopic.editingTopic = false; | pageWithTopic.editingTopic = false; | ||||
| pageWithMembers.submittingName = false; | pageWithMembers.submittingName = false; | ||||
| ▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines | |||||