Example #1
0
	def should_filter_history_for_breaks(self):
		task = TaskWarrior()
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 0, 0))
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 1, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 2, 0))
		task.start(now=datetime.datetime(2020, 12, 31, 8, 3, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 4, 0))
		task.start('bar', now=datetime.datetime(2020, 12, 31, 8, 5, 0))
		self.assertEqual([(_.title, _.datetime.time()) for _ in task.filter_history(
			only_breaks=True,
			)], [
			(None, datetime.time(8, 2)),
			('foo', datetime.time(8, 3)),
			])

		task = TaskWarrior()
		task.config.taskfile.write_bytes(b'')
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 0, 0))
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 1, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 2, 0))
		task.start(now=datetime.datetime(2020, 12, 31, 8, 3, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 4, 0))
		self.assertEqual([(_.title, _.datetime.time()) for _ in task.filter_history(
			only_breaks=True,
			)], [
			(None, datetime.time(8, 2)),
			('foo', datetime.time(8, 3)),
			])
Example #2
0
	def should_filter_task_history_by_datetime(self):
		task = TaskWarrior()
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 0, 0))
		task.start('bar', now=datetime.datetime(2020, 12, 31, 8, 20, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 45, 0))
		task.start('baz', now=datetime.datetime(2020, 12, 31, 9, 40, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 10, 20, 0))
		task.start(now=datetime.datetime(2020, 12, 31, 12, 1, 0))
		self.assertEqual([(_.title, _.datetime.time()) for _ in task.filter_history(
			start_datetime=datetime.datetime(2020, 12, 31, 8, 10, 0),
			stop_datetime=datetime.datetime(2020, 12, 31, 11, 10, 0),
			)], [
			('bar', datetime.time(8, 20)),
			(None, datetime.time(8, 45)),
			('baz', datetime.time(9, 40)),
			(None, datetime.time(10, 20)),
			])
Example #3
0
	def should_filter_out_duplicated_stop_resume_events(self):
		task = TaskWarrior()
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 0, 0))
		task.start('foo', now=datetime.datetime(2020, 12, 31, 8, 1, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 2, 0))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 2, 5))
		task.start(now=datetime.datetime(2020, 12, 31, 8, 3, 0))
		task.start(now=datetime.datetime(2020, 12, 31, 8, 3, 5))
		task.stop(now=datetime.datetime(2020, 12, 31, 8, 4, 0))
		task.start('bar', now=datetime.datetime(2020, 12, 31, 8, 5, 0))
		task.start('bar', now=datetime.datetime(2020, 12, 31, 8, 5, 3))
		self.assertEqual([(_.title, _.datetime.time()) for _ in task.filter_history(
			)], [
			('foo', datetime.time(8, 0)),
			('foo', datetime.time(8, 1)),
			(None, datetime.time(8, 2)),
			('foo', datetime.time(8, 3)),
			('foo', datetime.time(8, 3, 5)),
			(None, datetime.time(8, 4)),
			('bar', datetime.time(8, 5)),
			('bar', datetime.time(8, 5, 3)),
			])