@@ -107,9 +107,10 @@ type View interface {
107107 SetMultisGoal (string )
108108}
109109
110- func New (configurationFileOpener ConfigurationFileOpener , browserOpener BrowserOpener , callHistory CallHistory , station core.Station , contest core.Contest ) * Settings {
110+ func New (configurationFileOpener ConfigurationFileOpener , clock core. Clock , browserOpener BrowserOpener , callHistory CallHistory , station core.Station , contest core.Contest ) * Settings {
111111 result := & Settings {
112112 writer : new (nullWriter ),
113+ clock : clock ,
113114 view : new (nullView ),
114115 configurationFileOpener : configurationFileOpener ,
115116 browserOpener : browserOpener ,
@@ -132,6 +133,7 @@ func New(configurationFileOpener ConfigurationFileOpener, browserOpener BrowserO
132133
133134type Settings struct {
134135 writer Writer
136+ clock core.Clock
135137 view View
136138 configurationFileOpener ConfigurationFileOpener
137139 browserOpener BrowserOpener
@@ -432,7 +434,7 @@ func (s *Settings) ContestDefinition(contestIdentifier string) *conval.Definitio
432434}
433435
434436func (s * Settings ) ProposeContestName (contestIdentifier string ) string {
435- year := time . Now ().Format ("2006" ) // TODO use the central clock instead of time.Now()!
437+ year := s . clock . Now ().Format ("2006" )
436438 return fmt .Sprintf ("%s %s" , contestIdentifier , year )
437439}
438440
@@ -629,14 +631,14 @@ func (s *Settings) EnterContestStartTime(value string) {
629631}
630632
631633func (s * Settings ) SetContestStartTimeToday () {
632- year , month , day := time .Now ().Date ()
634+ year , month , day := s . clock .Now ().Date ()
633635 s .contest .StartTime = time .Date (year , month , day , 0 , 0 , 0 , 0 , time .UTC )
634636 s .view .HideMessage ()
635637 s .view .SetContestStartTime (s .formattedContestStartTime ())
636638}
637639
638640func (s * Settings ) SetContestStartTimeNow () {
639- s .contest .StartTime = time .Now ().UTC ().Truncate (time .Hour )
641+ s .contest .StartTime = s . clock .Now ().UTC ().Truncate (time .Hour )
640642 s .view .HideMessage ()
641643 s .view .SetContestStartTime (s .formattedContestStartTime ())
642644}
0 commit comments