Exemple #1
0
 def test_no_args(self):
     options = pecuniacli._parse_options(['list'])
     self.assertIsNone(options.db_file)
     self.assertEqual('list', options.command)
     self.assertIsNone(options.dates)
     self.assertEquals([], options.include_regexs)
     self.assertEquals([], options.exclude_regexs)
     self.assertFalse(options.no_tags)
     self.assertFalse(options.print_total)
     self.assertIsNone(options.export_total)
Exemple #2
0
 def test_with_file(self):
     with _captured_stderr():
         options = pecuniacli._parse_options(['import', 'foo.csv'])
         self.assertIsNone(options.db_file)
         self.assertEqual('import', options.command)
         self.assertEqual(['foo.csv'], options.input_file_paths)
Exemple #3
0
 def test_no_args_raises(self):
     with self.assertRaises(SystemExit):
         with _captured_stderr():
             pecuniacli._parse_options(['import'])
Exemple #4
0
 def test_invalid_command_raises(self):
     with self.assertRaises(SystemExit):
         with _captured_stderr():
             pecuniacli._parse_options(['not-a-command'])
Exemple #5
0
 def test_with_file_raises(self):
     with self.assertRaises(SystemExit):
         with _captured_stderr():
             pecuniacli._parse_options(['classify', 'foo.csv'])
Exemple #6
0
 def test_include_and_exclude_raises(self):
     with self.assertRaises(SystemExit):
         with _captured_stderr():
             pecuniacli._parse_options(
                 ['list', '--include=foo', '--exclude=foo'])
Exemple #7
0
 def test_dates_files_twice(self):
     options = pecuniacli._parse_options(
         ['list', '--dates-file=dates.txt', '--dates-file=more-dates.txt'])
     self.assertEqual('list', options.command)
     self.assertEqual(['dates.txt', 'more-dates.txt'], options.dates_files)
Exemple #8
0
 def test_db_file(self):
     options = pecuniacli._parse_options(['--db-file=FILE', 'list'])
     self.assertEqual('FILE', options.db_file)
Exemple #9
0
 def test_dates_after_date(self):
     options = pecuniacli._parse_options(['tags', '--dates=2018-09-14..'])
     self.assertEqual(
         datetools.DateSequence([
             datetools.DateRange(datetime.date(2018, 9, 14), None),
         ]), options.dates)
Exemple #10
0
 def test_dates_one_date(self):
     options = pecuniacli._parse_options(['tags', '--dates=2018-09-14'])
     self.assertEqual(datetools.DateSequence([datetime.date(2018, 9, 14)]),
                      options.dates)
Exemple #11
0
 def test_dates_no_arg(self):
     with self.assertRaises(SystemExit):
         with _captured_stderr():
             pecuniacli._parse_options(['tags', '--dates'])
Exemple #12
0
 def test_no_args(self):
     options = pecuniacli._parse_options(['tags'])
     self.assertIsNone(options.db_file)
     self.assertEqual('tags', options.command)
     self.assertIsNone(options.dates)
Exemple #13
0
 def test_export_total(self):
     options = pecuniacli._parse_options(['list', '--export-total=FILE'])
     self.assertEqual('list', options.command)
     self.assertEqual('FILE', options.export_total)
Exemple #14
0
 def test_print_total(self):
     options = pecuniacli._parse_options(['list', '--print-total'])
     self.assertEqual('list', options.command)
     self.assertTrue(options.print_total)
Exemple #15
0
 def test_no_tags(self):
     options = pecuniacli._parse_options(['list', '--no-tags'])
     self.assertEqual('list', options.command)
     self.assertTrue(options.no_tags)
Exemple #16
0
 def test_db_file(self):
     options = pecuniacli._parse_options(
         ['--db-file=FILE', 'import', 'foo.csv'])
     self.assertEqual('FILE', options.db_file)
Exemple #17
0
 def test_no_args(self):
     options = pecuniacli._parse_options(['classify'])
     self.assertIsNone(options.db_file)
     self.assertEqual('classify', options.command)
     self.assertFalse(options.no_tags)
     self.assertEquals([], options.include_regexs)
Exemple #18
0
 def test_dates_files(self):
     options = pecuniacli._parse_options(
         ['classify', '--dates-file=dates.txt'])
     self.assertEqual(['dates.txt'], options.dates_files)
Exemple #19
0
 def test_dates(self):
     options = pecuniacli._parse_options(['list', '--dates=2019-05-03'])
     self.assertEqual('list', options.command)
     self.assertEqual(
         datetools.DateSequence([datetools.parse_date('2019-05-03')]),
         options.dates)
Exemple #20
0
 def test_no_tags(self):
     options = pecuniacli._parse_options(['classify', '--no-tags'])
     self.assertEqual('classify', options.command)
     self.assertTrue(options.no_tags)
     self.assertEquals([], options.include_regexs)
Exemple #21
0
 def test_include(self):
     options = pecuniacli._parse_options(['list', '--include=foo'])
     self.assertEqual('list', options.command)
     self.assertEqual(['foo'], options.include_regexs)
Exemple #22
0
 def test_exclude_twice(self):
     options = pecuniacli._parse_options(
         ['list', '--exclude=foo', '--exclude=bar'])
     self.assertEqual('list', options.command)
     self.assertEqual(['foo', 'bar'], options.exclude_regexs)