def test_aggregate_normal(self): record_work_time.record_work_times( record_work_time.convert_work_times( u'projectB', u'20101027', [u'900', u'1300', u'1400', u'1900']), self.conn) record_work_time.record_work_times( record_work_time.convert_work_times( u'projectA', u'20101128', [u'900', u'1200', u'1300', u'1800']), self.conn) record_work_time.record_work_times( record_work_time.convert_work_times( u'projectB', u'20101129', [u'900', u'1300', u'1400', u'1900']), self.conn) record_work_time.record_work_times( record_work_time.convert_work_times( u'projectA', u'20101130', [u'900', u'1200', u'1300', u'1800']), self.conn) times = aggregate_work_time.aggregate_work_time( u'2010-10-01', u'2010-11-30', self.conn) self.assertEquals(3, len(times)) self.assert_time(u'2010-10', u'projectB', 9, times[0]) self.assert_time(u'2010-11', u'projectA', 16, times[1]) self.assert_time(u'2010-11', u'projectB', 9, times[2])
def test_invalid_time_order_when_two(self): try: record_work_time.convert_work_times( u'project', u'20101128', [u'1100', u'1159', u'110', u'1200']) self.fail() except work_recorder.InvalidArgumentFormatException: pass
def test_invalid_day_count(self): try: record_work_time.convert_work_times( u'project', u'20101128', [u'900', u'1200', u'1310']) self.fail() except work_recorder.InvalidArgumentFormatException: pass
def test_two(self): project = u'pro' work_times = record_work_time.convert_work_times( project, u'20101128', [u'900', u'1200', u'1310', u'2059']) self.assertEquals(2, len(work_times)) except_day = u'2010-11-28' a_work_time = work_times[0] self.assertEquals( project, a_work_time[record_work_time.WORK_TIME_KEY_PROJECT]) self.assertEquals( except_day, a_work_time[record_work_time.WORK_TIME_KEY_DAY]) self.assertEquals( u'09:00:00', a_work_time[record_work_time.WORK_TIME_KEY_START]) self.assertEquals( u'12:00:00', a_work_time[record_work_time.WORK_TIME_KEY_END]) a_work_time = work_times[1] self.assertEquals( project, a_work_time[record_work_time.WORK_TIME_KEY_PROJECT]) self.assertEquals( except_day, a_work_time[record_work_time.WORK_TIME_KEY_DAY]) self.assertEquals( u'13:10:00', a_work_time[record_work_time.WORK_TIME_KEY_START]) self.assertEquals( u'20:59:00', a_work_time[record_work_time.WORK_TIME_KEY_END])
def test_one(self): project = u'pro' work_times = record_work_time.convert_work_times( project, u'20101128', [u'900', u'1200']) self.assertEquals(1, len(work_times)) a_work_time = work_times[0] self.assertEquals( project, a_work_time[record_work_time.WORK_TIME_KEY_PROJECT]) self.assertEquals( u'2010-11-28', a_work_time[record_work_time.WORK_TIME_KEY_DAY]) self.assertEquals( u'09:00:00', a_work_time[record_work_time.WORK_TIME_KEY_START]) self.assertEquals( u'12:00:00', a_work_time[record_work_time.WORK_TIME_KEY_END])
def test_record_a_work_time(self): project = u'project' work_times = record_work_time.convert_work_times( project, u'20101128', [u'910', u'1250']) record_work_time.record_work_times(work_times, self.conn) cursor = self.conn.execute( u'select {project}, {day}, {start}, {end} from {table}'.format( project = work_recorder.COLUMN_PROJECT, day = work_recorder.COLUMN_DAY, start = work_recorder.COLUMN_START, end = work_recorder.COLUMN_END, table = work_recorder.TABLE_WORK_TIME)) result = cursor.fetchall() self.assertEquals(1, len(result)) a_row = result[0] self.assertEquals( (project, u'2010-11-28', u'09:10:00', u'12:50:00'), a_row)