File tree Expand file tree Collapse file tree 3 files changed +45
-2
lines changed
Expand file tree Collapse file tree 3 files changed +45
-2
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,12 @@ extension Age {
5353 return . yesterday
5454 }
5555
56- if let day = dateComponents. day, day == 0 {
56+ if let month = dateComponents. month,
57+ let weekOfYear = dateComponents. weekOfYear,
58+ let day = dateComponents. day,
59+ month == 0 ,
60+ weekOfYear == 0 ,
61+ day == 0 {
5762 return . today
5863 }
5964
Original file line number Diff line number Diff line change 11
22import Foundation
33import Yosemite
4+ import class AutomatticTracks. CrashLogging
45import protocol Storage. StorageManagerType
56
67/// ViewModel for `OrdersViewController`.
@@ -89,7 +90,17 @@ final class OrdersViewModel {
8990 ///
9091 func activateAndForwardUpdates( to tableView: UITableView ) {
9192 resultsController. startForwardingEvents ( to: tableView)
92- try ? resultsController. performFetch ( )
93+ performFetch ( )
94+ }
95+
96+ /// Execute the `resultsController` query, logging the error if there's any.
97+ ///
98+ private func performFetch( ) {
99+ do {
100+ try resultsController. performFetch ( )
101+ } catch {
102+ CrashLogging . logError ( error)
103+ }
93104 }
94105
95106 /// Returns what `OrderAction` should be used when synchronizing.
Original file line number Diff line number Diff line change @@ -122,4 +122,31 @@ final class AgeTests: XCTestCase {
122122
123123 XCTAssertEqual ( age, . upcoming)
124124 }
125+
126+ func testItReturnsUpcomingIfTheDateFromIsExactlyAMonthAfterDateTo( ) {
127+ let dateFrom = dateFormatter. date ( from: " 2020-04-08T00:00:00Z " ) !
128+ let dateTo = dateFormatter. date ( from: " 2020-03-08T00:00:00Z " ) !
129+
130+ let age = Age . from ( startDate: dateFrom, toDate: dateTo, using: calendar)
131+
132+ XCTAssertEqual ( age, . upcoming)
133+ }
134+
135+ func testItReturnsUpcomingIfTheDateFromIsExactlyAWeekAfterDateTo( ) {
136+ let dateFrom = dateFormatter. date ( from: " 2020-03-15T00:00:00Z " ) !
137+ let dateTo = dateFormatter. date ( from: " 2020-03-08T00:00:00Z " ) !
138+
139+ let age = Age . from ( startDate: dateFrom, toDate: dateTo, using: calendar)
140+
141+ XCTAssertEqual ( age, . upcoming)
142+ }
143+
144+ func testItReturnsUpcomingIfTheDateFromIsExactlyAYearAfterDateTo( ) {
145+ let dateFrom = dateFormatter. date ( from: " 2021-03-08T00:00:00Z " ) !
146+ let dateTo = dateFormatter. date ( from: " 2020-03-08T00:00:00Z " ) !
147+
148+ let age = Age . from ( startDate: dateFrom, toDate: dateTo, using: calendar)
149+
150+ XCTAssertEqual ( age, . upcoming)
151+ }
125152}
You can’t perform that action at this time.
0 commit comments