mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 17:12:45 +02:00
Improve MockPollHistoryScreenState
This commit is contained in:
@@ -26,8 +26,8 @@ enum MockPollHistoryScreenState: MockScreenState, CaseIterable {
|
||||
// mock that screen.
|
||||
case active
|
||||
case past
|
||||
case activeEmpty
|
||||
case pastEmpty
|
||||
case empty
|
||||
case emptyNoMoreContent
|
||||
case loading
|
||||
|
||||
/// The associated screen
|
||||
@@ -37,7 +37,7 @@ enum MockPollHistoryScreenState: MockScreenState, CaseIterable {
|
||||
|
||||
/// Generate the view struct for the screen state.
|
||||
var screenView: ([Any], AnyView) {
|
||||
let pollHistoryMode: PollHistoryMode
|
||||
var pollHistoryMode: PollHistoryMode = .active
|
||||
let pollService = MockPollHistoryService()
|
||||
|
||||
switch self {
|
||||
@@ -45,21 +45,20 @@ enum MockPollHistoryScreenState: MockScreenState, CaseIterable {
|
||||
pollHistoryMode = .active
|
||||
case .past:
|
||||
pollHistoryMode = .past
|
||||
case .activeEmpty:
|
||||
case .empty:
|
||||
pollHistoryMode = .active
|
||||
pollService.nextBatchPublisher = Empty(completeImmediately: true,
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
case .pastEmpty:
|
||||
pollHistoryMode = .past
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
case .emptyNoMoreContent:
|
||||
pollService.hasNextBatch = false
|
||||
pollService.nextBatchPublisher = Empty(completeImmediately: true,
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
case .loading:
|
||||
pollHistoryMode = .active
|
||||
pollService.nextBatchPublisher = Empty(completeImmediately: false,
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
outputType: TimelinePollDetails.self,
|
||||
failureType: Error.self).eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
let viewModel = PollHistoryViewModel(mode: pollHistoryMode, pollService: pollService)
|
||||
|
||||
@@ -36,7 +36,7 @@ final class MockPollHistoryService: PollHistoryServiceProtocol {
|
||||
pollErrorPublisher
|
||||
}
|
||||
|
||||
var hasNextBatch: Bool = true
|
||||
var hasNextBatch = true
|
||||
|
||||
var fetchedUpToPublisher: AnyPublisher<Date, Never> = Just(.init()).eraseToAnyPublisher()
|
||||
var fetchedUpTo: AnyPublisher<Date, Never> {
|
||||
@@ -51,7 +51,7 @@ final class MockPollHistoryService: PollHistoryServiceProtocol {
|
||||
|
||||
private extension MockPollHistoryService {
|
||||
var activePollsData: [TimelinePollDetails] {
|
||||
(1...10)
|
||||
(1...3)
|
||||
.map { index in
|
||||
TimelinePollDetails(id: "a\(index)",
|
||||
question: "Do you like the active poll number \(index)?",
|
||||
@@ -68,7 +68,7 @@ private extension MockPollHistoryService {
|
||||
}
|
||||
|
||||
var pastPollsData: [TimelinePollDetails] {
|
||||
(1...10)
|
||||
(1...3)
|
||||
.map { index in
|
||||
TimelinePollDetails(id: "p\(index)",
|
||||
question: "Do you like the active poll number \(index)?",
|
||||
|
||||
Reference in New Issue
Block a user