def get_worked_time(self, start, stop): clocks = Clock.select().where((Clock.start >= start) & (Clock.stop <= stop)) total = timedelta(0) for clock in clocks: total += clock.stop - clock.start return total
def get_worked_time(self, start, stop): clocks = Clock.select().where( (Clock.start >= start) & (Clock.stop <= stop) ) total = timedelta(0) for clock in clocks: total += clock.stop - clock.start return total
def create_clock(self, day, hour, duration): Clock.create(user=self.employee, start=datetime(2015, 1, day, hour), stop=datetime(2015, 1, day, hour + duration))
def tearDown(self): Clock.delete().execute()
def test_can_stop_clock(self): self.client.post('/clock/start') response = self.client.post('/clock/stop') self.assertEqual(response.status_code, 302) clock = Clock.get() self.assertIsNotNone(clock.stop)
def clock_is_open(self): return Clock.select().where( Clock.user == self.user, Clock.stop == None, ).exists()
def get_open_clock(self): return Clock.select().where( Clock.user == self.user, Clock.stop == None, ).first()
def start_clock(self): if self.clock_is_open(): raise self.ClockAlreadyStarted return Clock.create(user=self.user, start=datetime.now())
def get_clocks(self): return Clock.select().where(Clock.user == self.user).order_by( Clock.id.desc())
def get_open_clock(self): return Clock.select().where(Clock.user == self.user, Clock.stop == None).first()
def clock_is_open(self): return Clock.select().where(Clock.user == self.user, Clock.stop == None).exists()
def get_clocks(self): return Clock.select().where(Clock.user == self.user).order_by(Clock.id.desc())
def create_clock(self, day, hour, duration): Clock.create( user=self.employee, start=datetime(2015, 1, day, hour), stop=datetime(2015, 1, day, hour + duration) )