Page MenuHomePhorge

tst_RoomInvitePage.qml
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

tst_RoomInvitePage.qml

/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2023 tusooa <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtTest 1.0
import '../../contents/ui/room-settings' as RoomSettings
import 'test-helpers.js' as Helpers
import 'test-helpers' as TestHelpers
Item {
id: item
width: 800
height: 600
property var promiseComp: Component {
TestHelpers.MatrixPromiseMock {
}
}
property var showPassiveNotification: (() => {})
property var pageStack: ({
removePage (page) {
++item.pageStack._removePageCalled;
},
_removePageCalled: 0,
})
property var room: ({
name: 'room',
inviteUser (userId) {
++item.room._inviteUserCalled;
item.room._inviteUserUserId = userId;
const promise = promiseComp.createObject(item.room);
item.room._inviteUserPromise = promise;
return promise;
},
_inviteUserCalled: 0,
_inviteUserUserId: undefined,
_inviteUserPromise: undefined,
})
property var l10n: Helpers.fluentMock
property var matrixSdk: TestHelpers.MatrixSdkMock {}
property var sdkVars: ({})
RoomSettings.RoomInvitePage {
id: roomInvitePage
room: item.room
}
TestCase {
id: roomInvitePageTest
name: 'RoomInvitePageTest'
when: windowShown
function cleanup() {
item.room._inviteUserCalled = 0;
item.room._inviteUserPromise = undefined;
item.room._inviteUserUserId = undefined;
item.pageStack._removePageCalled = 0;
}
function test_roomInvitePage() {
const input = findChild(roomInvitePage, 'inviteUserIdInput');
input.text = '@mew:example.com';
const button = findChild(roomInvitePage, 'inviteUserButton');
mouseClick(button);
tryVerify(() => item.room._inviteUserCalled, 1000);
verify(item.room._inviteUserPromise);
verify(item.room._inviteUserUserId == '@mew:example.com');
verify(!button.enabled);
const promise = item.room._inviteUserPromise;
promise.resolve(true, {});
tryVerify(() => button.enabled, 1000);
tryVerify(() => item.pageStack._removePageCalled, 1000);
}
function test_roomInvitePageFailed() {
const input = findChild(roomInvitePage, 'inviteUserIdInput');
input.text = '@mew:example.com';
const button = findChild(roomInvitePage, 'inviteUserButton');
mouseClick(button);
tryVerify(() => item.room._inviteUserCalled, 1000);
verify(item.room._inviteUserPromise);
const promise = item.room._inviteUserPromise;
promise.resolve(false, {});
tryVerify(() => button.enabled, 1000);
verify(!item.pageStack._removePageCalled);
}
}
}

File Metadata

Mime Type
text/plain
Expires
Wed, May 14, 7:16 AM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
89838
Default Alt Text
tst_RoomInvitePage.qml (2 KB)

Event Timeline