Fixed the broken tests

pull/928/head
Morgan Pretty 2 years ago
parent f97170fdcd
commit b3eb78aaee

@ -41,7 +41,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
) )
@TestState var cancellables: [AnyCancellable]! = [ @TestState var cancellables: [AnyCancellable]! = [
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -68,9 +68,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
.to( .to(
equal( equal(
SessionCell.Info( SessionCell.Info(
id: ThreadDisappearingMessagesSettingsViewModel.Item( id: "DISAPPEARING_MESSAGES_OFF".localized(),
title: "DISAPPEARING_MESSAGES_OFF".localized()
),
position: .top, position: .top,
title: "DISAPPEARING_MESSAGES_OFF".localized(), title: "DISAPPEARING_MESSAGES_OFF".localized(),
rightAccessory: .radio( rightAccessory: .radio(
@ -87,7 +85,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
.to( .to(
equal( equal(
SessionCell.Info( SessionCell.Info(
id: ThreadDisappearingMessagesSettingsViewModel.Item(title: title), id: title,
position: .bottom, position: .bottom,
title: title, title: title,
rightAccessory: .radio( rightAccessory: .radio(
@ -116,7 +114,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
using: dependencies using: dependencies
) )
cancellables.append( cancellables.append(
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -128,9 +126,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
.to( .to(
equal( equal(
SessionCell.Info( SessionCell.Info(
id: ThreadDisappearingMessagesSettingsViewModel.Item( id: "DISAPPEARING_MESSAGES_OFF".localized(),
title: "DISAPPEARING_MESSAGES_OFF".localized()
),
position: .top, position: .top,
title: "DISAPPEARING_MESSAGES_OFF".localized(), title: "DISAPPEARING_MESSAGES_OFF".localized(),
rightAccessory: .radio( rightAccessory: .radio(
@ -147,7 +143,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
.to( .to(
equal( equal(
SessionCell.Info( SessionCell.Info(
id: ThreadDisappearingMessagesSettingsViewModel.Item(title: title), id: title,
position: .bottom, position: .bottom,
title: title, title: title,
rightAccessory: .radio( rightAccessory: .radio(
@ -160,7 +156,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
// MARK: -- has no right bar button // MARK: -- has no right bar button
it("has no right bar button") { it("has no right bar button") {
var items: [ParentType.NavItem]? var items: [SessionNavItem<ThreadDisappearingMessagesSettingsViewModel.NavItem>]!
cancellables.append( cancellables.append(
viewModel.rightNavItems viewModel.rightNavItems
@ -176,7 +172,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
// MARK: -- when changed from the previous setting // MARK: -- when changed from the previous setting
context("when changed from the previous setting") { context("when changed from the previous setting") {
@TestState var items: [ParentType.NavItem]? @TestState var items: [SessionNavItem<ThreadDisappearingMessagesSettingsViewModel.NavItem>]!
beforeEach { beforeEach {
cancellables.append( cancellables.append(
@ -195,7 +191,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
it("shows the save button") { it("shows the save button") {
expect(items) expect(items)
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadDisappearingMessagesSettingsViewModel.NavItem>(
id: .save, id: .save,
systemItem: .save, systemItem: .save,
accessibilityIdentifier: "Save button" accessibilityIdentifier: "Save button"
@ -210,7 +206,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
var didDismissScreen: Bool = false var didDismissScreen: Bool = false
cancellables.append( cancellables.append(
viewModel.dismissScreen viewModel.navigatableState.dismissScreen
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -218,14 +214,14 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
) )
) )
items?.first?.action?() items.first?.action?()
expect(didDismissScreen).to(beTrue()) expect(didDismissScreen).to(beTrue())
} }
// MARK: ------ saves the updated config // MARK: ------ saves the updated config
it("saves the updated config") { it("saves the updated config") {
items?.first?.action?() items.first?.action?()
let updatedConfig: DisappearingMessagesConfiguration? = mockStorage.read { db in let updatedConfig: DisappearingMessagesConfiguration? = mockStorage.read { db in
try DisappearingMessagesConfiguration.fetchOne(db, id: "TestId") try DisappearingMessagesConfiguration.fetchOne(db, id: "TestId")
@ -240,7 +236,3 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec {
} }
} }
} }
// MARK: - Test Types
fileprivate typealias ParentType = SessionTableViewModel<ThreadDisappearingMessagesSettingsViewModel.NavButton, ThreadDisappearingMessagesSettingsViewModel.Section, ThreadDisappearingMessagesSettingsViewModel.Item>

@ -57,7 +57,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
) )
@TestState var disposables: [AnyCancellable]! = [ @TestState var disposables: [AnyCancellable]! = [
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -149,7 +149,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
using: dependencies using: dependencies
) )
disposables.append( disposables.append(
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -171,7 +171,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -193,7 +193,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
context("when entering edit mode") { context("when entering edit mode") {
beforeEach { beforeEach {
viewModel.navState.sinkAndStore(in: &disposables) viewModel.navState.sinkAndStore(in: &disposables)
viewModel.rightNavItems.firstValue()??.first?.action?() viewModel.rightNavItems.firstValue()?.first?.action?()
viewModel.textChanged("TestNew", for: .nickname) viewModel.textChanged("TestNew", for: .nickname)
} }
@ -204,7 +204,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()) expect(viewModel.leftNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .cancel, id: .cancel,
systemItem: .cancel, systemItem: .cancel,
accessibilityIdentifier: "Cancel button" accessibilityIdentifier: "Cancel button"
@ -212,7 +212,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
])) ]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .done, id: .done,
systemItem: .done, systemItem: .done,
accessibilityIdentifier: "Done" accessibilityIdentifier: "Done"
@ -223,7 +223,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
// MARK: ------ when cancelling edit mode // MARK: ------ when cancelling edit mode
context("when cancelling edit mode") { context("when cancelling edit mode") {
beforeEach { beforeEach {
viewModel.leftNavItems.firstValue()??.first?.action?() viewModel.leftNavItems.firstValue()?.first?.action?()
} }
// MARK: -------- exits editing mode // MARK: -------- exits editing mode
@ -234,7 +234,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -258,7 +258,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
// MARK: ------ when saving edit mode // MARK: ------ when saving edit mode
context("when saving edit mode") { context("when saving edit mode") {
beforeEach { beforeEach {
viewModel.rightNavItems.firstValue()??.first?.action?() viewModel.rightNavItems.firstValue()?.first?.action?()
} }
// MARK: -------- exits editing mode // MARK: -------- exits editing mode
@ -269,7 +269,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -318,7 +318,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -330,7 +330,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
context("when entering edit mode") { context("when entering edit mode") {
beforeEach { beforeEach {
viewModel.navState.sinkAndStore(in: &disposables) viewModel.navState.sinkAndStore(in: &disposables)
viewModel.rightNavItems.firstValue()??.first?.action?() viewModel.rightNavItems.firstValue()?.first?.action?()
viewModel.textChanged("TestUserNew", for: .nickname) viewModel.textChanged("TestUserNew", for: .nickname)
} }
@ -341,7 +341,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()) expect(viewModel.leftNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .cancel, id: .cancel,
systemItem: .cancel, systemItem: .cancel,
accessibilityIdentifier: "Cancel button" accessibilityIdentifier: "Cancel button"
@ -349,7 +349,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
])) ]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .done, id: .done,
systemItem: .done, systemItem: .done,
accessibilityIdentifier: "Done" accessibilityIdentifier: "Done"
@ -360,7 +360,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
// MARK: ------ when cancelling edit mode // MARK: ------ when cancelling edit mode
context("when cancelling edit mode") { context("when cancelling edit mode") {
beforeEach { beforeEach {
viewModel.leftNavItems.firstValue()??.first?.action?() viewModel.leftNavItems.firstValue()?.first?.action?()
} }
// MARK: -------- exits editing mode // MARK: -------- exits editing mode
@ -371,7 +371,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -393,7 +393,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
// MARK: ------ when saving edit mode // MARK: ------ when saving edit mode
context("when saving edit mode") { context("when saving edit mode") {
beforeEach { beforeEach {
viewModel.rightNavItems.firstValue()??.first?.action?() viewModel.rightNavItems.firstValue()?.first?.action?()
} }
// MARK: -------- exits editing mode // MARK: -------- exits editing mode
@ -404,7 +404,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.leftNavItems.firstValue()).to(equal([]))
expect(viewModel.rightNavItems.firstValue()) expect(viewModel.rightNavItems.firstValue())
.to(equal([ .to(equal([
ParentType.NavItem( SessionNavItem<ThreadSettingsViewModel.NavItem>(
id: .edit, id: .edit,
systemItem: .edit, systemItem: .edit,
accessibilityIdentifier: "Edit button" accessibilityIdentifier: "Edit button"
@ -446,7 +446,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
using: dependencies using: dependencies
) )
disposables.append( disposables.append(
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -491,7 +491,7 @@ class ThreadSettingsViewModelSpec: QuickSpec {
using: dependencies using: dependencies
) )
disposables.append( disposables.append(
viewModel.observableTableData viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -517,7 +517,3 @@ class ThreadSettingsViewModelSpec: QuickSpec {
} }
} }
} }
// MARK: - Test Types
fileprivate typealias ParentType = SessionTableViewModel<ThreadSettingsViewModel.NavButton, ThreadSettingsViewModel.Section, ThreadSettingsViewModel.Setting>

@ -22,12 +22,14 @@ class NotificationContentViewModelSpec: QuickSpec {
SNUIKit.self SNUIKit.self
] ]
) )
@TestState var viewModel: NotificationContentViewModel! = NotificationContentViewModel( @TestState var dependencies: Dependencies! = Dependencies(
storage: mockStorage, storage: mockStorage,
scheduling: .immediate scheduler: .immediate
) )
@TestState var viewModel: NotificationContentViewModel! = NotificationContentViewModel(
@TestState var dataChangeCancellable: AnyCancellable? = viewModel.observableTableData using: dependencies
)
@TestState var dataChangeCancellable: AnyCancellable? = viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -88,8 +90,8 @@ class NotificationContentViewModelSpec: QuickSpec {
mockStorage.write { db in mockStorage.write { db in
db[.preferencesNotificationPreviewType] = Preferences.NotificationPreviewType.nameNoPreview db[.preferencesNotificationPreviewType] = Preferences.NotificationPreviewType.nameNoPreview
} }
viewModel = NotificationContentViewModel(storage: mockStorage, scheduling: .immediate) viewModel = NotificationContentViewModel(using: dependencies)
dataChangeCancellable = viewModel.observableTableData dataChangeCancellable = viewModel.tableDataPublisher
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },
@ -141,7 +143,7 @@ class NotificationContentViewModelSpec: QuickSpec {
it("dismisses the screen") { it("dismisses the screen") {
var didDismissScreen: Bool = false var didDismissScreen: Bool = false
dismissCancellable = viewModel.dismissScreen dismissCancellable = viewModel.navigatableState.dismissScreen
.receive(on: ImmediateScheduler.shared) .receive(on: ImmediateScheduler.shared)
.sink( .sink(
receiveCompletion: { _ in }, receiveCompletion: { _ in },

Loading…
Cancel
Save