Skip to content

Commit 7891257

Browse files
authored
Clean up unused profile page properties (#2801)
* Remove unused projects list from goToProject * Delete unused sort
1 parent 9a52e3a commit 7891257

8 files changed

Lines changed: 37 additions & 45 deletions

File tree

Kickstarter-Framework/Sources/Kickstarter-Framework-iOSTests/Kickstarter-iOS/Features/BackerDashboardProjects/Controller/BackerDashboardProjectsViewControllerTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ internal final class BackerDashboardProjectsViewControllerTests: TestCase {
6969
language: language
7070
) {
7171
let controller = BackerDashboardProjectsViewController
72-
.configuredWith(projectsType: .backed, sort: .endingSoon)
72+
.configuredWith(projectsType: .backed)
7373
controller.overrideUserInterfaceStyle = style
7474
let (parent, _) = traitControllers(
7575
device: device,
@@ -99,7 +99,7 @@ internal final class BackerDashboardProjectsViewControllerTests: TestCase {
9999
language: language
100100
) {
101101
let controller = BackerDashboardProjectsViewController
102-
.configuredWith(projectsType: .backed, sort: .endingSoon)
102+
.configuredWith(projectsType: .backed)
103103
let (parent, _) = traitControllers(
104104
device: device,
105105
orientation: .portrait,
@@ -122,7 +122,7 @@ internal final class BackerDashboardProjectsViewControllerTests: TestCase {
122122
language: language
123123
) {
124124
let controller = BackerDashboardProjectsViewController
125-
.configuredWith(projectsType: .saved, sort: .endingSoon)
125+
.configuredWith(projectsType: .saved)
126126
let (parent, _) = traitControllers(
127127
device: device,
128128
orientation: .portrait,

Kickstarter-Framework/Sources/Kickstarter-Framework/Kickstarter-iOS/Features/BackerDashboardPages/Controller/BackerDashboardViewController.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ internal final class BackerDashboardViewController: UIViewController {
125125

126126
self.viewModel.outputs.configurePagesDataSource
127127
.observeForControllerAction()
128-
.observeValues { [weak self] tab, sort in
129-
self?.configurePagesDataSource(tab: tab, sort: sort)
128+
.observeValues { [weak self] tab in
129+
self?.configurePagesDataSource(tab: tab)
130130
}
131131

132132
self.viewModel.outputs.savedButtonTitleText
@@ -228,8 +228,8 @@ internal final class BackerDashboardViewController: UIViewController {
228228
|> UILabel.lens.font .~ .ksr_headline(size: 18)
229229
}
230230

231-
private func configurePagesDataSource(tab: BackerDashboardTab, sort: DiscoveryParams.Sort) {
232-
self.pagesDataSource = BackerDashboardPagesDataSource(delegate: self, sort: sort)
231+
private func configurePagesDataSource(tab: BackerDashboardTab) {
232+
self.pagesDataSource = BackerDashboardPagesDataSource(delegate: self)
233233

234234
self.pageViewController?.dataSource = self.pagesDataSource
235235
self.pageViewController?.ksr_setViewControllers(

Kickstarter-Framework/Sources/Kickstarter-Framework/Kickstarter-iOS/Features/BackerDashboardPages/Datasource/BackerDashboardPagesDataSource.swift

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@ import UIKit
55
internal final class BackerDashboardPagesDataSource: NSObject, UIPageViewControllerDataSource {
66
private let viewControllers: [UIViewController]
77

8-
internal init(delegate _: UIViewController, sort: DiscoveryParams.Sort) {
8+
internal init(delegate _: UIViewController) {
99
let backedController = BackerDashboardProjectsViewController.configuredWith(
10-
projectsType: .backed,
11-
sort: sort
10+
projectsType: .backed
1211
)
1312

1413
let savedController = BackerDashboardProjectsViewController.configuredWith(
15-
projectsType: .saved,
16-
sort: sort
14+
projectsType: .saved
1715
)
1816

1917
self.viewControllers = BackerDashboardTab.allTabs.map { tab in

Kickstarter-Framework/Sources/Kickstarter-Framework/Kickstarter-iOS/Features/BackerDashboardProjects/Controller/BackerDashboardProjectsViewController.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ internal final class BackerDashboardProjectsViewController: UITableViewControlle
1111

1212
private let nextPageLoadingIndicator = UIActivityIndicatorView()
1313

14-
internal static func configuredWith(projectsType: ProfileProjectsType, sort: DiscoveryParams.Sort)
14+
internal static func configuredWith(projectsType: ProfileProjectsType)
1515
-> BackerDashboardProjectsViewController {
1616
let vc = BackerDashboardProjectsViewController()
17-
vc.viewModel.inputs.configureWith(projectsType: projectsType, sort: sort)
17+
vc.viewModel.inputs.configureWith(projectsType: projectsType)
1818
return vc
1919
}
2020

@@ -110,8 +110,8 @@ internal final class BackerDashboardProjectsViewController: UITableViewControlle
110110

111111
self.viewModel.outputs.goToProject
112112
.observeForControllerAction()
113-
.observeValues { [weak self] project, projects, reftag in
114-
self?.goTo(project: project, initialPlaylist: projects, refTag: reftag)
113+
.observeValues { [weak self] project, reftag in
114+
self?.goTo(project: project, refTag: reftag)
115115
}
116116
}
117117

@@ -141,7 +141,7 @@ internal final class BackerDashboardProjectsViewController: UITableViewControlle
141141
self.viewModel.inputs.projectTapped(project)
142142
}
143143

144-
private func goTo(project: Project, initialPlaylist _: [Project], refTag: RefTag) {
144+
private func goTo(project: Project, refTag: RefTag) {
145145
let projectParam = Either<Project, any ProjectPageParam>(left: project)
146146
let vc = ProjectPageViewController.configuredWith(
147147
projectOrParam: projectParam,

Library/Sources/Library/Library/ViewModels/BackerDashboardProjectsViewModel.swift

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import ReactiveExtensions
55
import ReactiveSwift
66

77
public protocol BackerDashboardProjectsViewModelInputs {
8-
/// Call to configure with the ProfileProjectsType to display and the default sort.
9-
func configureWith(projectsType: ProfileProjectsType, sort: DiscoveryParams.Sort)
8+
/// Call to configure with the ProfileProjectsType to display.
9+
func configureWith(projectsType: ProfileProjectsType)
1010

1111
/// Call when the user has updated.
1212
func currentUserUpdated()
@@ -32,7 +32,7 @@ public protocol BackerDashboardProjectsViewModelOutputs {
3232
var emptyStateIsVisible: Signal<(Bool, ProfileProjectsType), Never> { get }
3333

3434
/// Emits the project, projects, and ref tag when should go to project page.
35-
var goToProject: Signal<(Project, [Project], RefTag), Never> { get }
35+
var goToProject: Signal<(Project, RefTag), Never> { get }
3636

3737
/// Emits when the pull-to-refresh control is refreshing or not.
3838
var isRefreshing: Signal<Bool, Never> { get }
@@ -52,8 +52,7 @@ public protocol BackerDashboardProjectsViewModelType {
5252
public final class BackerDashboardProjectsViewModel: BackerDashboardProjectsViewModelType,
5353
BackerDashboardProjectsViewModelInputs, BackerDashboardProjectsViewModelOutputs {
5454
public init() {
55-
let projectsTypeAndSort = self.configureWithProjectsTypeAndSortProperty.signal.skipNil()
56-
let projectsType = projectsTypeAndSort.map(first)
55+
let projectsType = self.configureWithProjectsTypeAndSortProperty.signal.skipNil()
5756

5857
let userUpdated = Signal.merge(
5958
self.viewDidAppearProperty.signal.ignoreValues(),
@@ -134,12 +133,11 @@ public final class BackerDashboardProjectsViewModel: BackerDashboardProjectsView
134133
(projects.isEmpty, type)
135134
}
136135

137-
self.goToProject = Signal.combineLatest(projectsType, self.projects)
136+
self.goToProject = projectsType
138137
.takePairWhen(self.projectTappedProperty.signal.skipNil())
139-
.map(unpack)
140-
.map { projectsType, projects, project in
138+
.map { projectsType, project in
141139
let ref = (projectsType == .backed) ? RefTag.profileBacked : RefTag.profileSaved
142-
return (project, projects, ref)
140+
return (project, ref)
143141
}
144142

145143
// Tracking
@@ -160,9 +158,9 @@ public final class BackerDashboardProjectsViewModel: BackerDashboardProjectsView
160158
}
161159

162160
private let configureWithProjectsTypeAndSortProperty =
163-
MutableProperty<(ProfileProjectsType, DiscoveryParams.Sort)?>(nil)
164-
public func configureWith(projectsType: ProfileProjectsType, sort: DiscoveryParams.Sort) {
165-
self.configureWithProjectsTypeAndSortProperty.value = (projectsType, sort)
161+
MutableProperty<ProfileProjectsType?>(nil)
162+
public func configureWith(projectsType: ProfileProjectsType) {
163+
self.configureWithProjectsTypeAndSortProperty.value = projectsType
166164
}
167165

168166
private let currentUserUpdatedProperty = MutableProperty(())
@@ -196,7 +194,7 @@ public final class BackerDashboardProjectsViewModel: BackerDashboardProjectsView
196194
}
197195

198196
public let emptyStateIsVisible: Signal<(Bool, ProfileProjectsType), Never>
199-
public let goToProject: Signal<(Project, [Project], RefTag), Never>
197+
public let goToProject: Signal<(Project, RefTag), Never>
200198
public let isRefreshing: Signal<Bool, Never>
201199
public let isLoadingNextPage: Signal<Bool, Never>
202200
public let projects: Signal<[Project], Never>

Library/Sources/Library/Library/ViewModels/BackerDashboardViewModel.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public protocol BackerDashboardViewModelOutputs {
5656
/// Emits a string for the backer name label.
5757
var backerNameText: Signal<String, Never> { get }
5858

59-
/// Emits the initial BackerDashboardTab and a default Sort to configure the page view controller.
60-
var configurePagesDataSource: Signal<(BackerDashboardTab, DiscoveryParams.Sort), Never> { get }
59+
/// Emits the initial BackerDashboardTab to configure the page view controller.
60+
var configurePagesDataSource: Signal<BackerDashboardTab, Never> { get }
6161

6262
/// The currently selected tab.
6363
var currentSelectedTab: BackerDashboardTab { get }
@@ -99,7 +99,7 @@ public final class BackerDashboardViewModel: BackerDashboardViewModelType, Backe
9999
BackerDashboardViewModelOutputs {
100100
public init() {
101101
self.configurePagesDataSource = self.viewDidLoadProperty.signal
102-
.map { (.backed, DiscoveryParams.Sort.endingSoon) }
102+
.map { .backed }
103103

104104
let fetchedUserEvent = Signal.merge(
105105
self.projectSavedProperty.signal.ignoreValues()
@@ -269,7 +269,7 @@ public final class BackerDashboardViewModel: BackerDashboardViewModelType, Backe
269269
public let avatarURL: Signal<URL?, Never>
270270
public let backedButtonTitleText: Signal<String, Never>
271271
public let backerNameText: Signal<String, Never>
272-
public let configurePagesDataSource: Signal<(BackerDashboardTab, DiscoveryParams.Sort), Never>
272+
public let configurePagesDataSource: Signal<BackerDashboardTab, Never>
273273
public let goToMessages: Signal<(), Never>
274274
public let goToSettings: Signal<(), Never>
275275
public let navigateToTab: Signal<BackerDashboardTab, Never>

LibraryTests/Library/ViewModels/BackerDashboardProjectsViewModelTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
2626
self.vm.outputs.isRefreshing.observe(self.isRefreshing.observer)
2727
self.vm.outputs.isLoadingNextPage.observe(self.isLoadingNextPage.observer)
2828
self.vm.outputs.goToProject.map(first).observe(self.goToProject.observer)
29-
self.vm.outputs.goToProject.map(third).observe(self.goToProjectRefTag.observer)
29+
self.vm.outputs.goToProject.map(second).observe(self.goToProjectRefTag.observer)
3030
self.vm.outputs.projects.observe(self.projects.observer)
3131
}
3232

@@ -49,7 +49,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
4949
)
5050

5151
withEnvironment(apiService: MockService(fetchBackerBackedProjectsResponse: env), currentUser: .template) {
52-
self.vm.inputs.configureWith(projectsType: .backed, sort: .endingSoon)
52+
self.vm.inputs.configureWith(projectsType: .backed)
5353
self.vm.inputs.viewDidAppear(false)
5454
self.vm.inputs.currentUserUpdated()
5555

@@ -122,7 +122,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
122122
let env = FetchProjectsEnvelope(type: .saved, projects: [], hasNextPage: false, totalCount: 0)
123123

124124
withEnvironment(apiService: MockService(fetchBackerSavedProjectsResponse: env), currentUser: .template) {
125-
self.vm.inputs.configureWith(projectsType: .saved, sort: .endingSoon)
125+
self.vm.inputs.configureWith(projectsType: .saved)
126126
self.vm.inputs.viewDidAppear(false)
127127

128128
self.projects.assertValueCount(0)
@@ -155,7 +155,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
155155
let env = FetchProjectsEnvelope(type: .backed, projects: projects, hasNextPage: false, totalCount: 3)
156156

157157
withEnvironment(apiService: MockService(fetchBackerBackedProjectsResponse: env), currentUser: .template) {
158-
self.vm.inputs.configureWith(projectsType: .backed, sort: .endingSoon)
158+
self.vm.inputs.configureWith(projectsType: .backed)
159159
self.vm.inputs.viewDidAppear(false)
160160

161161
self.scheduler.advance()
@@ -188,7 +188,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
188188
let user = User.template
189189

190190
withEnvironment(apiService: MockService(fetchBackerBackedProjectsResponse: env), currentUser: user) {
191-
self.vm.inputs.configureWith(projectsType: .backed, sort: .endingSoon)
191+
self.vm.inputs.configureWith(projectsType: .backed)
192192
self.vm.inputs.viewDidAppear(false)
193193
self.vm.inputs.currentUserUpdated()
194194

@@ -234,7 +234,7 @@ internal final class BackerDashboardProjectsViewModelTests: TestCase {
234234
let user = User.template
235235

236236
withEnvironment(apiService: MockService(fetchBackerBackedProjectsResponse: env), currentUser: user) {
237-
self.vm.inputs.configureWith(projectsType: .backed, sort: .endingSoon)
237+
self.vm.inputs.configureWith(projectsType: .backed)
238238
self.vm.inputs.viewDidAppear(false)
239239
self.vm.inputs.currentUserUpdated()
240240

LibraryTests/Library/ViewModels/BackerDashboardViewModelTests.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ internal final class BackerDashboardViewModelTests: TestCase {
1414
private let backedButtonTitleText = TestObserver<String, Never>()
1515
private let backerNameText = TestObserver<String, Never>()
1616
private let configurePagesDataSourceTab = TestObserver<BackerDashboardTab, Never>()
17-
private let configurePagesDataSourceSort = TestObserver<DiscoveryParams.Sort, Never>()
1817
private let goToMessages = TestObserver<(), Never>()
1918
private let goToProject = TestObserver<Project, Never>()
2019
private let goToSettings = TestObserver<(), Never>()
@@ -32,8 +31,7 @@ internal final class BackerDashboardViewModelTests: TestCase {
3231
self.vm.outputs.avatarURL.map { $0?.absoluteString ?? "" }.observe(self.avatarURL.observer)
3332
self.vm.outputs.backedButtonTitleText.observe(self.backedButtonTitleText.observer)
3433
self.vm.outputs.backerNameText.observe(self.backerNameText.observer)
35-
self.vm.outputs.configurePagesDataSource.map(first).observe(self.configurePagesDataSourceTab.observer)
36-
self.vm.outputs.configurePagesDataSource.map(second).observe(self.configurePagesDataSourceSort.observer)
34+
self.vm.outputs.configurePagesDataSource.observe(self.configurePagesDataSourceTab.observer)
3735
self.vm.outputs.goToMessages.observe(self.goToMessages.observer)
3836
self.vm.outputs.goToSettings.observe(self.goToSettings.observer)
3937
self.vm.outputs.navigateToTab.observe(self.navigateToTab.observer)
@@ -101,12 +99,10 @@ internal final class BackerDashboardViewModelTests: TestCase {
10199

102100
func testConfigurePagesData() {
103101
self.configurePagesDataSourceTab.assertValueCount(0)
104-
self.configurePagesDataSourceSort.assertValueCount(0)
105102

106103
self.vm.inputs.viewDidLoad()
107104

108105
self.configurePagesDataSourceTab.assertValues([.backed])
109-
self.configurePagesDataSourceSort.assertValues([.endingSoon])
110106
}
111107

112108
func testTabNavigation() {

0 commit comments

Comments
 (0)