Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_JoinRoomPage.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 '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 l10n: Helpers.fluentMock | |||||
| property var showPassiveNotification: () => {} | |||||
| property var matrixSdk: TestHelpers.MatrixSdkMock { | |||||
| property var joinRoom: mockHelper.promise() | |||||
| } | |||||
| property var sdkVars: ({}) | |||||
| property var pageStack: ({ | |||||
| removePage: mockHelper.noop(), | |||||
| }) | |||||
| Kazv.JoinRoomPage { | Kazv.JoinRoomPage { | ||||
| id: joinRoomPage | id: joinRoomPage | ||||
| } | } | ||||
| TestCase { | TestCase { | ||||
| id: joinRoomPageTest | id: joinRoomPageTest | ||||
| name: 'JoinRoomPageTest' | name: 'JoinRoomPageTest' | ||||
| when: windowShown | when: windowShown | ||||
| Show All 11 Lines | TestCase { | ||||
| function test_joinRoomWithServers() { | function test_joinRoomWithServers() { | ||||
| findChild(joinRoomPage, 'idOrAliasInput').text = '#foo:example.com'; | findChild(joinRoomPage, 'idOrAliasInput').text = '#foo:example.com'; | ||||
| findChild(joinRoomPage, 'serversInput').text = 'example.com\nexample.org'; | findChild(joinRoomPage, 'serversInput').text = 'example.com\nexample.org'; | ||||
| const button = findChild(joinRoomPage, 'joinRoomButton'); | const button = findChild(joinRoomPage, 'joinRoomButton'); | ||||
| verify(button.enabled); | verify(button.enabled); | ||||
| mouseClick(button); | mouseClick(button); | ||||
| tryVerify(() => item.matrixSdk.joinRoom.calledTimes() === 1, 1000); | tryVerify(() => item.matrixSdk.joinRoom.calledTimes() === 1, 1000); | ||||
| verify(Helpers.deepEqual(item.matrixSdk.joinRoom.lastArgs(), [ | verify(JsHelpers.deepEqual(item.matrixSdk.joinRoom.lastArgs(), [ | ||||
| '#foo:example.com', | '#foo:example.com', | ||||
| ['example.com', 'example.org'], | ['example.com', 'example.org'], | ||||
| ])); | ])); | ||||
| item.matrixSdk.joinRoom.lastRetVal().resolve(true, {}); | item.matrixSdk.joinRoom.lastRetVal().resolve(true, {}); | ||||
| tryVerify(() => item.pageStack.removePage.calledTimes() === 1); | tryVerify(() => item.pageStack.removePage.calledTimes() === 1); | ||||
| } | } | ||||
| function test_joinRoomWithoutServers() { | function test_joinRoomWithoutServers() { | ||||
| findChild(joinRoomPage, 'idOrAliasInput').text = '#foo:example.com'; | findChild(joinRoomPage, 'idOrAliasInput').text = '#foo:example.com'; | ||||
| findChild(joinRoomPage, 'serversInput').text = ''; | findChild(joinRoomPage, 'serversInput').text = ''; | ||||
| const button = findChild(joinRoomPage, 'joinRoomButton'); | const button = findChild(joinRoomPage, 'joinRoomButton'); | ||||
| verify(button.enabled); | verify(button.enabled); | ||||
| mouseClick(button); | mouseClick(button); | ||||
| tryVerify(() => item.matrixSdk.joinRoom.calledTimes() === 1, 1000); | tryVerify(() => item.matrixSdk.joinRoom.calledTimes() === 1, 1000); | ||||
| verify(Helpers.deepEqual(item.matrixSdk.joinRoom.lastArgs(), [ | verify(JsHelpers.deepEqual(item.matrixSdk.joinRoom.lastArgs(), [ | ||||
| '#foo:example.com', | '#foo:example.com', | ||||
| [], | [], | ||||
| ])); | ])); | ||||
| item.matrixSdk.joinRoom.lastRetVal().resolve(true, {}); | item.matrixSdk.joinRoom.lastRetVal().resolve(true, {}); | ||||
| tryVerify(() => item.pageStack.removePage.calledTimes() === 1); | tryVerify(() => item.pageStack.removePage.calledTimes() === 1); | ||||
| } | } | ||||
| Show All 14 Lines | |||||