Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomStatePage.qml
- This file was added.
| /* | |||||
| * This file is part of kazv. | |||||
| * SPDX-FileCopyrightText: 2025 tusooa <tusooa@kazv.moe> | |||||
| * SPDX-License-Identifier: AGPL-3.0-or-later | |||||
| */ | |||||
| import QtQuick | |||||
| import QtQuick.Layouts | |||||
| import QtTest | |||||
| import '../../contents/ui' as Kazv | |||||
| import '../../contents/ui/room-settings' as KazvRS | |||||
| import './test-helpers' as QmlHelpers | |||||
| import 'test-helpers.js' as JsHelpers | |||||
| import moe.kazv.mxc.kazv as MK | |||||
| QmlHelpers.TestItem { | |||||
| id: upper | |||||
| property var stateObj: QtObject { | |||||
| property var types: ['m.room.member', 'm.room.create'] | |||||
| property var events: { | |||||
| 'm.room.member': [{ stateKey: '@foo:example.org' }, { stateKey: '@bar:example.org' }], | |||||
| 'm.room.create': [{ stateKey: '' }], | |||||
| } | |||||
| function eventsForType(type) { | |||||
| return events[type]; | |||||
| } | |||||
| } | |||||
| property var room: QtObject { | |||||
| property var membership: MK.MatrixRoom.Join | |||||
| function allState() { | |||||
| return upper.stateObj; | |||||
| } | |||||
| } | |||||
| KazvRS.RoomStatePage { | |||||
| id: roomStatePage | |||||
| room: upper.room | |||||
| anchors.fill: parent | |||||
| } | |||||
| TestCase { | |||||
| id: roomStatePageTest | |||||
| name: 'RoomStatePageTest' | |||||
| when: windowShown | |||||
| function test_simple() { | |||||
| const createChip = findChild(roomStatePage, 'chip_m.room.create'); | |||||
| const memberChip = findChild(roomStatePage, 'chip_m.room.member'); | |||||
| const eventList = findChild(roomStatePage, 'stateEventList'); | |||||
| verify(createChip); | |||||
| verify(memberChip); | |||||
| mouseClick(createChip); | |||||
| verify(createChip.checked); | |||||
| compare(eventList.count, 1); | |||||
| mouseClick(memberChip); | |||||
| verify(memberChip.checked); | |||||
| compare(eventList.count, 2); | |||||
| } | |||||
| } | |||||
| } | |||||