def test_set_desk_up(self, compute_active_time): compute_active_time.return_value = timedelta(0) self.database.get_session_spans.return_value = [ Span(self.beginning, self.now, model.Active()) ] self.database.get_desk_spans.return_value = [ Span(self.beginning, self.now, model.Up()) ] event = Event(datetime(2017, 2, 13, 12, 0, 0), model.Up()) self.controller.set_desk(event.index, event.data) self.database.insert_desk_event.assert_called_with(event) self.hardware.go.assert_called_with(event.data) self.timer.stop.assert_not_called() self.timer.schedule.assert_called_with( timedelta(minutes=10), model.Down())
def test_init_active_and_down(self): self.database.get_session_spans.return_value = [ Span(self.beginning, self.now, model.Active()) ] self.controller.init(self.now) self.timer.schedule.assert_called_once_with(timedelta(0), model.Up()) self.hardware.light.assert_called_once_with(model.Active()) self.hardware.go.assert_not_called()
def test_update_timer_active_duration(self, compute_active_time): compute_active_time.return_value = timedelta(minutes=10) self.database.get_session_spans.return_value = [ Span(self.beginning, self.now, model.Active()) ] self.controller.update_timer(self.now) self.timer.schedule.assert_called_with( timedelta(minutes=40), model.Up())
def test_webserver_get_desk(self): self.database.return_value.get_desk_spans.return_value = [ Span(0, 1, model.Down()) ] rv = self.app.get('/api/desk') self.assertEqual(b'0', rv.data) self.database.return_value.get_desk_spans.return_value = [ Span(0, 1, model.Up()) ] rv = self.app.get('/api/desk') self.assertEqual(b'1', rv.data)