def test_add(self): contents = """10.10.2012 foo 09:00-10:00 baz""" t = self._create_timesheet(contents) t.entries.add_date_to_bottom = True e = TimesheetEntry('bar', 2, 'baz') t.entries[datetime.date(2012, 10, 10)].append(e) e = TimesheetEntry('bar', 2, 'baz') t.entries[datetime.date(2012, 10, 20)].append(e) entries = t.get_entries() self.assertEquals(len(entries), 2) self.assertIn(datetime.date(2012, 10, 10), entries) self.assertIn(datetime.date(2012, 10, 20), entries) self.assertEquals(len(entries[datetime.date(2012, 10, 10)]), 2) self.assertEquals(len(entries[datetime.date(2012, 10, 20)]), 1) self.assertEquals(t.entries.to_lines(), [ '10.10.2012', 'foo 09:00-10:00 baz', 'bar 2 baz', '', '20.10.2012', '', 'bar 2 baz' ]) e = TimesheetEntry('bar', 2, 'baz') t.entries.add_date_to_bottom = False t.entries[datetime.date(2012, 10, 25)].append(e) self.assertEquals(t.entries.to_lines(), [ '25.10.2012', '', 'bar 2 baz', '', '10.10.2012', 'foo 09:00-10:00 baz', 'bar 2 baz', '', '20.10.2012', '', 'bar 2 baz' ])
def test_add_entry_to_entries_collection(): entries_collection = EntriesCollection( "20.01.2014\n_internal 0800-0900 Fix coffee machine") entries_collection[datetime.date(2014, 1, 20)].append( TimesheetEntry('taxi', 4, 'Work a bit')) assert len(entries_collection[datetime.date(2014, 1, 20)]) == 2
def test_add_empty_date(self): contents = """10.10.2012 """ t = self._create_timesheet(contents) e = TimesheetEntry('bar', 2, 'baz') t.entries[datetime.date(2012, 10, 10)].append(e) self.assertEquals(t.entries.to_lines(), ['10.10.2012', '', 'bar 2 baz'])
def test_add_entry_empty_end_time(self): t = self._create_timesheet('') now = datetime.datetime.now() entry = TimesheetEntry('foo', (now.time(), None), 'bar') t.entries[now.date()].append(entry) lines = t.entries.to_lines() self.assertEquals(lines, ['13.10.2012', '', 'foo 00:00-? bar'])
def test_undefined_alias(self): contents = """10.10.2012 foo 0900-1000 baz""" t = self._create_timesheet(contents) e = TimesheetEntry('baz', (datetime.time(10, 0), None), 'baz') t.entries[datetime.date(2012, 10, 10)].append(e) lines = t.entries.to_lines() self.assertEquals( lines, ['10.10.2012', 'foo 0900-1000 baz', 'baz 10:00-? baz'])
def test_insert_to_top(): entries_collection = EntriesCollection("""20.01.2014 _internal 0800-0900 Fix coffee machine""") entries_collection.add_date_to_bottom = False entries_date = datetime.date(2014, 1, 21) entries_collection[entries_date].append( TimesheetEntry('taxi', 4, 'Work a bit')) assert entries_collection.lines[0].text == "21.01.2014" assert entries_collection.lines[1].text == "" assert entries_collection.lines[2].text == "taxi 4 Work a bit"
def test_add_empty_timesheet(self): t = self._create_timesheet('') today = datetime.date.today() entry = TimesheetEntry('foo', 2, 'bar') t.entries[today].append(entry) entries = t.get_entries() self.assertEquals(len(entries), 1) self.assertIn(today, entries) self.assertIsInstance(entries[today][0], TimesheetEntry) self.assertEquals(entries[today][0].alias, 'foo') self.assertEquals(entries[today][0].duration, 2)
def test_to_lines(self): contents = """10.10.2012 foo 09:00-10:00 baz bar -11:00 foobar""" t = self._create_timesheet(contents, True) lines = t.entries.to_lines() self.assertEquals(len(lines), 3) self.assertEquals(lines[0], '10.10.2012') self.assertEquals(lines[1], 'foo 09:00-10:00 baz') self.assertEquals(lines[2], 'bar -11:00 foobar') t.entries[datetime.date(2012, 9, 29)].append( TimesheetEntry('foo', (datetime.time(15, 0), None), 'bar')) lines = t.entries.to_lines() self.assertEquals(len(lines), 7) self.assertEquals(lines[3], '') self.assertEquals(lines[4], '29.09.2012') self.assertEquals(lines[5], '') self.assertEquals(lines[6], 'foo 15:00-? bar')