Retrofit deferFulfillment onto snapshot tests. (#3641)

* Retrofit `deferFulfillment` onto snapshot tests.

* Convert a bunch of preview tests to the new fulfillment publisher

* Convert more tests

* Remove unneeded delays from the remaining tests

* Remove snapshotting delay option.
This commit is contained in:
Stefan Ceriu
2024-12-20 15:30:59 +02:00
committed by GitHub
parent 365797c8b7
commit 536f01abbd
49 changed files with 606 additions and 532 deletions
@@ -72,13 +72,11 @@ struct RoomMembersListManageMemberSheet_Previews: PreviewProvider, TestablePrevi
actions: [.kick, .ban],
context: viewModel.context)
.previewDisplayName("Joined")
.snapshotPreferences(delay: 0.2)
RoomMembersListManageMemberSheet(member: .init(withProxy: RoomMemberProxyMock.mockBanned[3]),
actions: [],
context: viewModel.context)
.previewDisplayName("Banned")
.snapshotPreferences(delay: 0.2)
}
}
@@ -117,31 +117,41 @@ struct RoomMembersListScreen_Previews: PreviewProvider, TestablePreview {
NavigationStack {
RoomMembersListScreen(context: viewModel.context)
}
.snapshotPreferences(delay: 1.0)
.snapshotPreferences(expect: viewModel.context.$viewState.map { state in
!state.visibleJoinedMembers.isEmpty
})
.previewDisplayName("Member")
NavigationStack {
RoomMembersListScreen(context: invitesViewModel.context)
}
.snapshotPreferences(delay: 1.0)
.snapshotPreferences(expect: invitesViewModel.context.$viewState.map { state in
!state.visibleJoinedMembers.isEmpty
})
.previewDisplayName("Invites")
NavigationStack {
RoomMembersListScreen(context: adminViewModel.context)
}
.snapshotPreferences(delay: 1.0)
.snapshotPreferences(expect: adminViewModel.context.$viewState.map { state in
state.canBanUsers == true
})
.previewDisplayName("Admin: Members")
NavigationStack {
RoomMembersListScreen(context: bannedViewModel.context)
}
.snapshotPreferences(delay: 1.0)
.snapshotPreferences(expect: bannedViewModel.context.$viewState.map { state in
state.canBanUsers == true
})
.previewDisplayName("Admin: Banned")
NavigationStack {
RoomMembersListScreen(context: emptyBannedViewModel.context)
}
.snapshotPreferences(delay: 1.0)
.snapshotPreferences(expect: emptyBannedViewModel.context.$viewState.map { state in
state.canBanUsers == true
})
.previewDisplayName("Admin: Empty Banned")
}