Improve MockPollHistoryScreenState

This commit is contained in:
Alfonso Grillo
2023-01-25 19:21:56 +01:00
parent 7494eb66e5
commit bbf7bad5c3
2 changed files with 15 additions and 16 deletions
@@ -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)?",