Example #1
0
    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
Example #3
0
    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'])
Example #4
0
    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'])
Example #5
0
    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"
Example #7
0
    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)
Example #8
0
    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')