def test_prints_message_if_no_activity_running(self, mocked_args, mocked_stdout): trackerian.Activity('Ended Activity') trackerian.Activity.instances[-1].end = True mocked_args.return_value = edit_args_dict('current', True) trackerian.main() self.assertIn('Not Tracking', mocked_stdout.getvalue())
def test_instantiates_activity_with_formatted_start_str( self, mocked_args, mocked_time): mocked_args.return_value = edit_args_dict('begin', ['String']) mocked_time.return_value = datetime.datetime(2018, 11, 12, 21, 22, 23) trackerian.main() instance_start_str = trackerian.Activity.instances[0].start_str self.assertEqual(instance_start_str, '21:22:23')
def test_invalid_int_value_error_handled(self, mocked_args, mocked_stdout): mocked_args.return_value = edit_args_dict('edit', ['a', 'help', 'me']) trackerian.main() self.assertIn('integer', mocked_stdout.getvalue())
def test_correct_new_value_argument_passed(self, mocked_args, mocked_edit): mocked_args.return_value = edit_args_dict('edit', ['0', 'end', '11:22:44']) trackerian.main() self.assertEqual(mocked_edit.call_args[0][2], ['11:22:44'])
def test_correct_info_argument_passed(self, mocked_args, mocked_edit): mocked_args.return_value = edit_args_dict('edit', ['1', 'tag', 'test']) trackerian.main() self.assertEqual(mocked_edit.call_args[0][1], 'tag')
def test_correct_activity_argument_passed(self, mocked_args, mocked_edit): mocked_args.return_value = edit_args_dict('edit', ['0', 'name', 'new']) trackerian.main() correct_activity = trackerian.Activity.instances[0] self.assertEqual(mocked_edit.call_args[0][0], correct_activity)
def test_adds_multiple_tags_to_latest_finished_activity(self, mocked_args): mocked_args.return_value = edit_args_dict('tag', ['tagged', 'twice']) trackerian.Activity.instances[0].end = 'Ended' trackerian.main() self.assertEqual(trackerian.Activity.instances[0].tags, ['tagged', 'twice'])
def test_ends_previous_process_if_not_ended(self, mocked_args): trackerian.Activity('Begin Should End This') mocked_args.return_value = edit_args_dict('begin', ['New', 'Actvity']) trackerian.main() self.assertTrue(trackerian.Activity.instances[0].end)
def test_instantiates_activity_with_joined_arg_name(self, mocked_args): mocked_args.return_value = edit_args_dict('begin', ['Split', 'Name']) trackerian.main() self.assertEqual(trackerian.Activity.instances[0].name, 'Split Name')
def test_index_error_when_no_instances_handled(self, mocked_args, mocked_stdout): mocked_args.return_value = edit_args_dict('current', True) trackerian.main() self.assertIn('No activities', mocked_stdout.getvalue())
def test_prints_current_duration_if_not_ended(self, mocked_args, mocked_stdout): trackerian.Activity('Current Activity') mocked_args.return_value = edit_args_dict('current', True) trackerian.main() self.assertIn('0:00:', mocked_stdout.getvalue())
def test_index_error_prints_help(self, mocked_args, mocked_stdout): mocked_args.return_value = edit_args_dict('remove', 5) trackerian.main() self.assertIn('index', mocked_stdout.getvalue())
def test_removes_running_activity(self, mocked_args): mocked_args.return_value = edit_args_dict('remove', 1) trackerian.main() self.assertTrue(len(trackerian.Activity.instances) == 1) self.assertTrue(trackerian.Activity.instances[0].name == 'Finished')
def test_removes_finished_activity(self, mocked_args): mocked_args.return_value = edit_args_dict('remove', 0) trackerian.main() self.assertTrue(trackerian.Activity.instances[0].name == 'Running')
def test_calls_end_activity(self, mocked_args, mocked_end): trackerian.Activity('To End') mocked_args.return_value = edit_args_dict('finish', True) trackerian.main() self.assertTrue(mocked_end.called)
def test_out_of_range_activity_num_index_error_handled( self, mocked_args, mocked_stdout): mocked_args.return_value = edit_args_dict('edit', ['9', 'print', 'me']) trackerian.main() self.assertIn('index', mocked_stdout.getvalue())
def test_passes_arg_to_calculate_date_range_start(self, mocked_args, mocked_calculate): mocked_args.return_value = edit_args_dict('summary', 'day') trackerian.main() self.assertEqual(mocked_calculate.call_args[0][0], 'day')
def test_passes_arg_to_calculate_datetime(self, mocked_args, mocked_calculate): mocked_args.return_value = edit_args_dict('list', 'passed') trackerian.main() self.assertEqual(mocked_calculate.call_args[0][0], 'passed')
def test_adds_tag_to_running_activity(self, mocked_args): mocked_args.return_value = edit_args_dict('tag', ['tagged']) trackerian.main() self.assertEqual(trackerian.Activity.instances[0].tags, ['tagged'])
def test_prints_about_task_start(self, mocked_args, mocked_stdout): mocked_args.return_value = edit_args_dict('begin', ['Print', 'Test']) trackerian.main() self.assertIn('Print Test', mocked_stdout.getvalue())