Changeset View
Changeset View
Standalone View
Standalone View
src/tests/quick-tests/tst_RoomPage.qml
| Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | Item { | ||||
| property var roomInvite: Helpers.factory.room({ | property var roomInvite: Helpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Invite, | membership: MK.MatrixRoom.Invite, | ||||
| }) | }) | ||||
| property var roomJoin: Helpers.factory.room({ | property var roomJoin: Helpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Join, | membership: MK.MatrixRoom.Join, | ||||
| paginateBackFrom: mockHelper.promise(), | paginateBackFrom: mockHelper.promise(), | ||||
| pinnedEventsTimeline: () => ({ | |||||
| count: 0, | |||||
| }), | |||||
| }) | }) | ||||
| property var roomLeave: Helpers.factory.room({ | property var roomLeave: Helpers.factory.room({ | ||||
| membership: MK.MatrixRoom.Leave, | membership: MK.MatrixRoom.Leave, | ||||
| }) | }) | ||||
| property var roomWithPinned: Helpers.factory.room({ | |||||
| membership: MK.MatrixRoom.Join, | |||||
| paginateBackFrom: mockHelper.promise(), | |||||
| pinnedEventsTimeline: () => ({ | |||||
| count: 1, | |||||
| }), | |||||
| }) | |||||
| property var l10n: Helpers.fluentMock | property var l10n: Helpers.fluentMock | ||||
| property var matrixSdk: TestHelpers.MatrixSdkMock { | property var matrixSdk: TestHelpers.MatrixSdkMock { | ||||
| property var userId: '@foo:example.org' | property var userId: '@foo:example.org' | ||||
| } | } | ||||
| property var sdkVars: ({}) | property var sdkVars: ({}) | ||||
| ColumnLayout { | ColumnLayout { | ||||
| Kazv.RoomPage { | Kazv.RoomPage { | ||||
| id: pageInvite | id: pageInvite | ||||
| room: roomInvite | room: roomInvite | ||||
| } | } | ||||
| Kazv.RoomPage { | Kazv.RoomPage { | ||||
| id: pageJoin | id: pageJoin | ||||
| room: roomJoin | room: roomJoin | ||||
| } | } | ||||
| Kazv.RoomPage { | Kazv.RoomPage { | ||||
| id: pageLeave | id: pageLeave | ||||
| room: roomLeave | room: roomLeave | ||||
| } | } | ||||
| Kazv.RoomPage { | |||||
| id: pageWithPinned | |||||
| room: roomWithPinned | |||||
| } | } | ||||
| } | |||||
| TestCase { | TestCase { | ||||
| id: roomPageTest | id: roomPageTest | ||||
| name: 'RoomPageTest' | name: 'RoomPageTest' | ||||
| when: windowShown | when: windowShown | ||||
| function init() { | function init() { | ||||
| mockHelper.clearAll(); | mockHelper.clearAll(); | ||||
| Show All 32 Lines | function test_paginateBack() { | ||||
| pageJoin.paginateBackRequested('$2'); | pageJoin.paginateBackRequested('$2'); | ||||
| tryVerify(() => roomJoin.paginateBackFrom.calledTimes() === 2); | tryVerify(() => roomJoin.paginateBackFrom.calledTimes() === 2); | ||||
| verify(roomJoin.paginateBackFrom.lastArgs()[0] === '$2'); | verify(roomJoin.paginateBackFrom.lastArgs()[0] === '$2'); | ||||
| // after the promise resolves, we can paginate from this id again | // after the promise resolves, we can paginate from this id again | ||||
| roomJoin.paginateBackFrom.retVals[0].resolve(true); | roomJoin.paginateBackFrom.retVals[0].resolve(true); | ||||
| pageJoin.paginateBackRequested('$1'); | pageJoin.paginateBackRequested('$1'); | ||||
| tryVerify(() => roomJoin.paginateBackFrom.calledTimes() === 3); | tryVerify(() => roomJoin.paginateBackFrom.calledTimes() === 3); | ||||
| verify(roomJoin.paginateBackFrom.lastArgs()[0] === '$1'); | verify(roomJoin.paginateBackFrom.lastArgs()[0] === '$1'); | ||||
| } | |||||
| function test_pinnedAction() { | |||||
| verify(!findChild(pageJoin, 'pinnedEventsAction').visible); | |||||
| verify(!findChild(pageJoin, 'pinnedEventsAction').enabled); | |||||
| verify(findChild(pageWithPinned, 'pinnedEventsAction').visible); | |||||
| verify(findChild(pageWithPinned, 'pinnedEventsAction').enabled); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||