Example #1
0
 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())
Example #2
0
 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')
Example #3
0
 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())
Example #4
0
 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'])
Example #5
0
 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')
Example #6
0
 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)
Example #7
0
 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'])
Example #8
0
 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)
Example #9
0
 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')
Example #10
0
 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())
Example #11
0
 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())
Example #12
0
 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())
Example #13
0
 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')
Example #14
0
 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')
Example #15
0
 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)
Example #16
0
 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())
Example #17
0
 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')
Example #18
0
 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')
Example #19
0
 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'])
Example #20
0
 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())