Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomStickerPacksPage.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 | import QtQuick | ||||
| import QtQuick.Layouts | import QtQuick.Layouts | ||||
| import QtTest | import QtTest | ||||
| import moe.kazv.mxc.kazv as MK | import moe.kazv.mxc.kazv as MK | ||||
| import org.kde.kirigami as Kirigami | import org.kde.kirigami as Kirigami | ||||
| import '../../contents/ui/room-settings' as KazvRS | import '../../contents/ui/room-settings' as KazvRS | ||||
| import '../../js/matrix-helpers.js' as MatrixHelpers | import '../../js/matrix-helpers.js' as MatrixHelpers | ||||
| 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 l10n: Helpers.fluentMock | |||||
| property var mockHelper: TestHelpers.MockHelper {} | |||||
| property var showPassiveNotification: mockHelper.noop() | |||||
| property var matrixSdk: TestHelpers.MatrixSdkMock { | |||||
| property var sendAccountData: mockHelper.promise() | |||||
| } | |||||
| KazvRS.RoomStickerPacksPage { | KazvRS.RoomStickerPacksPage { | ||||
| id: page | id: page | ||||
| anchors.fill: parent | anchors.fill: parent | ||||
| room: QtObject { | room: QtObject { | ||||
| function state(type, stateKey) { | function state(type, stateKey) { | ||||
| return { | return { | ||||
| type, | type, | ||||
| stateKey, | stateKey, | ||||
| ▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | TestCase { | ||||
| function test_addPack(data) { | function test_addPack(data) { | ||||
| findChild(page, 'addStickerPackAction').trigger(); | findChild(page, 'addStickerPackAction').trigger(); | ||||
| tryVerify(() => findChild(page, 'stickerPackName').visible); | tryVerify(() => findChild(page, 'stickerPackName').visible); | ||||
| findChild(page, 'stickerPackName').text = 'some name'; | findChild(page, 'stickerPackName').text = 'some name'; | ||||
| findChild(page, 'stickerPackStateKey').text = data.stateKey; | findChild(page, 'stickerPackStateKey').text = data.stateKey; | ||||
| page.addStickerPackPopup.accept(); | page.addStickerPackPopup.accept(); | ||||
| tryVerify(() => page.room.sendStateEvent.calledTimes() === 1); | tryVerify(() => page.room.sendStateEvent.calledTimes() === 1); | ||||
| verify(Helpers.deepEqual( | verify(JsHelpers.deepEqual( | ||||
| page.room.sendStateEvent.lastArgs(), | page.room.sendStateEvent.lastArgs(), | ||||
| [{ | [{ | ||||
| type: MatrixHelpers.roomImagePackEventType, | type: MatrixHelpers.roomImagePackEventType, | ||||
| state_key: data.stateKey, | state_key: data.stateKey, | ||||
| content: data.packContent, | content: data.packContent, | ||||
| }], | }], | ||||
| )); | )); | ||||
| page.room.sendStateEvent.lastRetVal().resolve(data.succ, {}); | page.room.sendStateEvent.lastRetVal().resolve(data.succ, {}); | ||||
| compare(item.showPassiveNotification.calledTimes(), 1); | compare(item.showPassiveNotification.calledTimes(), 1); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||