]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_main.py
Fix ccxt switching currency codes
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_main.py
index 6396c07728e3d01677962627e86e1add5203a947..cee89ce6cb35d638914824ca12e85f236aee677f 100644 (file)
@@ -1,7 +1,6 @@
 from .helper import *
 import main, market
 
-@unittest.skipUnless("unit" in limits, "Unit skipped")
 class MainTest(WebMockTestCase):
     def test_make_order(self):
         self.m.get_ticker.return_value = {
@@ -179,7 +178,8 @@ class MainTest(WebMockTestCase):
                     mock.patch("main.parse_config") as parse_config,\
                     mock.patch("main.fetch_markets") as fetch_markets,\
                     mock.patch("main.process") as process,\
-                    mock.patch("store.Portfolio.start_worker") as start:
+                    mock.patch("store.Portfolio.start_worker") as start,\
+                    mock.patch("store.Portfolio.stop_worker") as stop:
 
                 args_mock = mock.Mock()
                 args_mock.parallel = True
@@ -196,6 +196,7 @@ class MainTest(WebMockTestCase):
                 parse_config.assert_called_with(args_mock)
                 fetch_markets.assert_called_with("pg_config", "user")
 
+                stop.assert_called_once_with()
                 start.assert_called_once_with()
                 self.assertEqual(2, process.call_count)
                 process.assert_has_calls([
@@ -204,6 +205,48 @@ class MainTest(WebMockTestCase):
                     mock.call.__bool__(),
                     mock.call("config2", 1, 2, args_mock, "pg_config"),
                     ])
+        with self.subTest(quiet=True):
+            with mock.patch("main.parse_args") as parse_args,\
+                    mock.patch("main.parse_config") as parse_config,\
+                    mock.patch("main.fetch_markets") as fetch_markets,\
+                    mock.patch("store.Portfolio.report") as report,\
+                    mock.patch("main.process") as process:
+
+                args_mock = mock.Mock()
+                args_mock.parallel = False
+                args_mock.quiet = True
+                args_mock.user = "user"
+                parse_args.return_value = args_mock
+
+                parse_config.return_value = "pg_config"
+
+                fetch_markets.return_value = [[3, "config1", 1], [1, "config2", 2]]
+
+                main.main(["Foo", "Bar"])
+
+                report.set_verbose.assert_called_once_with(False)
+
+        with self.subTest(quiet=False):
+            with mock.patch("main.parse_args") as parse_args,\
+                    mock.patch("main.parse_config") as parse_config,\
+                    mock.patch("main.fetch_markets") as fetch_markets,\
+                    mock.patch("store.Portfolio.report") as report,\
+                    mock.patch("main.process") as process:
+
+                args_mock = mock.Mock()
+                args_mock.parallel = False
+                args_mock.quiet = False
+                args_mock.user = "user"
+                parse_args.return_value = args_mock
+
+                parse_config.return_value = "pg_config"
+
+                fetch_markets.return_value = [[3, "config1", 1], [1, "config2", 2]]
+
+                main.main(["Foo", "Bar"])
+
+                report.set_verbose.assert_called_once_with(True)
+
 
     @mock.patch.object(main.sys, "exit")
     @mock.patch("main.os")