From b3eb78aaee269b27db70ede1ca95d67815cdc369 Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Wed, 11 Oct 2023 18:00:52 +1100 Subject: [PATCH] Fixed the broken tests --- ...eadDisappearingMessagesViewModelSpec.swift | 32 +++++--------- .../ThreadSettingsViewModelSpec.swift | 44 +++++++++---------- .../NotificationContentViewModelSpec.swift | 16 ++++--- 3 files changed, 41 insertions(+), 51 deletions(-) diff --git a/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift b/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift index 416b31e61..ddf36782e 100644 --- a/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift +++ b/SessionTests/Conversations/Settings/ThreadDisappearingMessagesViewModelSpec.swift @@ -41,7 +41,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { ) @TestState var cancellables: [AnyCancellable]! = [ - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -68,9 +68,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .to( equal( SessionCell.Info( - id: ThreadDisappearingMessagesSettingsViewModel.Item( - title: "DISAPPEARING_MESSAGES_OFF".localized() - ), + id: "DISAPPEARING_MESSAGES_OFF".localized(), position: .top, title: "DISAPPEARING_MESSAGES_OFF".localized(), rightAccessory: .radio( @@ -87,7 +85,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .to( equal( SessionCell.Info( - id: ThreadDisappearingMessagesSettingsViewModel.Item(title: title), + id: title, position: .bottom, title: title, rightAccessory: .radio( @@ -116,7 +114,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { using: dependencies ) cancellables.append( - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -128,9 +126,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .to( equal( SessionCell.Info( - id: ThreadDisappearingMessagesSettingsViewModel.Item( - title: "DISAPPEARING_MESSAGES_OFF".localized() - ), + id: "DISAPPEARING_MESSAGES_OFF".localized(), position: .top, title: "DISAPPEARING_MESSAGES_OFF".localized(), rightAccessory: .radio( @@ -147,7 +143,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { .to( equal( SessionCell.Info( - id: ThreadDisappearingMessagesSettingsViewModel.Item(title: title), + id: title, position: .bottom, title: title, rightAccessory: .radio( @@ -160,7 +156,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { // MARK: -- has no right bar button it("has no right bar button") { - var items: [ParentType.NavItem]? + var items: [SessionNavItem]! cancellables.append( viewModel.rightNavItems @@ -176,7 +172,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { // MARK: -- when changed from the previous setting context("when changed from the previous setting") { - @TestState var items: [ParentType.NavItem]? + @TestState var items: [SessionNavItem]! beforeEach { cancellables.append( @@ -195,7 +191,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { it("shows the save button") { expect(items) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .save, systemItem: .save, accessibilityIdentifier: "Save button" @@ -210,7 +206,7 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { var didDismissScreen: Bool = false cancellables.append( - viewModel.dismissScreen + viewModel.navigatableState.dismissScreen .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -218,14 +214,14 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { ) ) - items?.first?.action?() + items.first?.action?() expect(didDismissScreen).to(beTrue()) } // MARK: ------ saves the updated config it("saves the updated config") { - items?.first?.action?() + items.first?.action?() let updatedConfig: DisappearingMessagesConfiguration? = mockStorage.read { db in try DisappearingMessagesConfiguration.fetchOne(db, id: "TestId") @@ -240,7 +236,3 @@ class ThreadDisappearingMessagesSettingsViewModelSpec: QuickSpec { } } } - -// MARK: - Test Types - -fileprivate typealias ParentType = SessionTableViewModel diff --git a/SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift b/SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift index 4e9852080..c422250c4 100644 --- a/SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift +++ b/SessionTests/Conversations/Settings/ThreadSettingsViewModelSpec.swift @@ -57,7 +57,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { ) @TestState var disposables: [AnyCancellable]! = [ - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -149,7 +149,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { using: dependencies ) disposables.append( - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -171,7 +171,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -193,7 +193,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { context("when entering edit mode") { beforeEach { viewModel.navState.sinkAndStore(in: &disposables) - viewModel.rightNavItems.firstValue()??.first?.action?() + viewModel.rightNavItems.firstValue()?.first?.action?() viewModel.textChanged("TestNew", for: .nickname) } @@ -204,7 +204,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .cancel, systemItem: .cancel, accessibilityIdentifier: "Cancel button" @@ -212,7 +212,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { ])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .done, systemItem: .done, accessibilityIdentifier: "Done" @@ -223,7 +223,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { // MARK: ------ when cancelling edit mode context("when cancelling edit mode") { beforeEach { - viewModel.leftNavItems.firstValue()??.first?.action?() + viewModel.leftNavItems.firstValue()?.first?.action?() } // MARK: -------- exits editing mode @@ -234,7 +234,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -258,7 +258,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { // MARK: ------ when saving edit mode context("when saving edit mode") { beforeEach { - viewModel.rightNavItems.firstValue()??.first?.action?() + viewModel.rightNavItems.firstValue()?.first?.action?() } // MARK: -------- exits editing mode @@ -269,7 +269,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -318,7 +318,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -330,7 +330,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { context("when entering edit mode") { beforeEach { viewModel.navState.sinkAndStore(in: &disposables) - viewModel.rightNavItems.firstValue()??.first?.action?() + viewModel.rightNavItems.firstValue()?.first?.action?() viewModel.textChanged("TestUserNew", for: .nickname) } @@ -341,7 +341,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .cancel, systemItem: .cancel, accessibilityIdentifier: "Cancel button" @@ -349,7 +349,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { ])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .done, systemItem: .done, accessibilityIdentifier: "Done" @@ -360,7 +360,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { // MARK: ------ when cancelling edit mode context("when cancelling edit mode") { beforeEach { - viewModel.leftNavItems.firstValue()??.first?.action?() + viewModel.leftNavItems.firstValue()?.first?.action?() } // MARK: -------- exits editing mode @@ -371,7 +371,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -393,7 +393,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { // MARK: ------ when saving edit mode context("when saving edit mode") { beforeEach { - viewModel.rightNavItems.firstValue()??.first?.action?() + viewModel.rightNavItems.firstValue()?.first?.action?() } // MARK: -------- exits editing mode @@ -404,7 +404,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { expect(viewModel.leftNavItems.firstValue()).to(equal([])) expect(viewModel.rightNavItems.firstValue()) .to(equal([ - ParentType.NavItem( + SessionNavItem( id: .edit, systemItem: .edit, accessibilityIdentifier: "Edit button" @@ -446,7 +446,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { using: dependencies ) disposables.append( - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -491,7 +491,7 @@ class ThreadSettingsViewModelSpec: QuickSpec { using: dependencies ) disposables.append( - viewModel.observableTableData + viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -517,7 +517,3 @@ class ThreadSettingsViewModelSpec: QuickSpec { } } } - -// MARK: - Test Types - -fileprivate typealias ParentType = SessionTableViewModel diff --git a/SessionTests/Settings/NotificationContentViewModelSpec.swift b/SessionTests/Settings/NotificationContentViewModelSpec.swift index 24caaaa7c..1c4dc2a26 100644 --- a/SessionTests/Settings/NotificationContentViewModelSpec.swift +++ b/SessionTests/Settings/NotificationContentViewModelSpec.swift @@ -22,12 +22,14 @@ class NotificationContentViewModelSpec: QuickSpec { SNUIKit.self ] ) - @TestState var viewModel: NotificationContentViewModel! = NotificationContentViewModel( + @TestState var dependencies: Dependencies! = Dependencies( storage: mockStorage, - scheduling: .immediate + scheduler: .immediate ) - - @TestState var dataChangeCancellable: AnyCancellable? = viewModel.observableTableData + @TestState var viewModel: NotificationContentViewModel! = NotificationContentViewModel( + using: dependencies + ) + @TestState var dataChangeCancellable: AnyCancellable? = viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -88,8 +90,8 @@ class NotificationContentViewModelSpec: QuickSpec { mockStorage.write { db in db[.preferencesNotificationPreviewType] = Preferences.NotificationPreviewType.nameNoPreview } - viewModel = NotificationContentViewModel(storage: mockStorage, scheduling: .immediate) - dataChangeCancellable = viewModel.observableTableData + viewModel = NotificationContentViewModel(using: dependencies) + dataChangeCancellable = viewModel.tableDataPublisher .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in }, @@ -141,7 +143,7 @@ class NotificationContentViewModelSpec: QuickSpec { it("dismisses the screen") { var didDismissScreen: Bool = false - dismissCancellable = viewModel.dismissScreen + dismissCancellable = viewModel.navigatableState.dismissScreen .receive(on: ImmediateScheduler.shared) .sink( receiveCompletion: { _ in },