Skip to content

Commit 6cb6310

Browse files
committed
clean code
1 parent 641812d commit 6cb6310

File tree

2 files changed

+12
-20
lines changed

2 files changed

+12
-20
lines changed

BeeSwift/GoalViewModel.swift

+9-17
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
1-
//
2-
// GoalViewModel.swift
3-
// BeeSwift
4-
//
5-
// Created by krugerk on 2024-11-25.
6-
//
7-
81
import Foundation
9-
import Intents
102

113
import CoreData
124
import BeeKit
135

146
struct GoalViewModel {
157
let goal: Goal
168

17-
public func initialDateStepperValue(date: Date = Date()) -> Double {
18-
let daystampAccountingForTheGoalsDeadline = Daystamp(fromDate: date,
19-
deadline: goal.deadline)
20-
let daystampAssumingMidnightDeadline = Daystamp(fromDate: date,
21-
deadline: 0)
22-
23-
return Double(daystampAssumingMidnightDeadline.distance(to: daystampAccountingForTheGoalsDeadline))
24-
}
25-
269
var title: String {
2710
goal.slug
2811
}
@@ -84,4 +67,13 @@ struct GoalViewModel {
8467
var showTimerButton: Bool {
8568
!goal.hideDataEntry
8669
}
70+
71+
func initialDateStepperValue(submissionDate date: Date = Date()) -> Double {
72+
let daystampAccountingForTheGoalsDeadline = Daystamp(fromDate: date,
73+
deadline: goal.deadline)
74+
let daystampAssumingMidnightDeadline = Daystamp(fromDate: date,
75+
deadline: 0)
76+
77+
return Double(daystampAssumingMidnightDeadline.distance(to: daystampAccountingForTheGoalsDeadline))
78+
}
8779
}

BeeSwiftTests/GoalViewModelTests.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,23 @@ struct GoalViewModelTests {
1414
let goalWithAfterMidnightDeadline = Self.makeGoalWithDeadline(3600 * 3)
1515
let viewModel = GoalViewModel(goal: goalWithAfterMidnightDeadline)
1616
let submissionDateBeforeGoalsDeadline = Calendar.current.date(bySettingHour: 1, minute: 30, second: 0, of: Date())!
17-
let actual = viewModel.initialDateStepperValue(date: submissionDateBeforeGoalsDeadline)
17+
let actual = viewModel.initialDateStepperValue(submissionDate: submissionDateBeforeGoalsDeadline)
1818
#expect(actual == DayStep.previousDay.rawValue)
1919
}
2020

2121
@Test func initialStepperIsTodayWhenSubmissionDateIsBeforeMidnightAndBeforeDeadline() async throws {
2222
let goalWithMidnightDeadline = Self.makeGoalWithDeadline(0)
2323
let viewModel = GoalViewModel(goal: goalWithMidnightDeadline)
2424
let submissionDateBeforeMidnight = Calendar.current.date(bySettingHour: 20, minute: 30, second: 0, of: Date())!
25-
let actual = viewModel.initialDateStepperValue(date: submissionDateBeforeMidnight)
25+
let actual = viewModel.initialDateStepperValue(submissionDate: submissionDateBeforeMidnight)
2626
#expect(actual == DayStep.sameDay.rawValue)
2727
}
2828

2929
@Test func initialStepperIsTomorrowWhenSubmissionDateIsAfterDeadline() async throws {
3030
let goalWithBeforeMidnightDeadline = Self.makeGoalWithDeadline(3600 * -3)
3131
let viewModel = GoalViewModel(goal: goalWithBeforeMidnightDeadline)
3232
let submissionDateBetweenDeadlineAndMidnight = Calendar.current.date(bySettingHour: 22, minute: 30, second: 0, of: Date())!
33-
let actual = viewModel.initialDateStepperValue(date: submissionDateBetweenDeadlineAndMidnight)
33+
let actual = viewModel.initialDateStepperValue(submissionDate: submissionDateBetweenDeadlineAndMidnight)
3434
#expect(actual == DayStep.nextDay.rawValue)
3535
}
3636
}

0 commit comments

Comments
 (0)