]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/commitdiff
Add processors
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 1 Mar 2018 16:39:48 +0000 (17:39 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 1 Mar 2018 16:39:48 +0000 (17:39 +0100)
helper.py
test.py

index 21e95c76ab18738875c9e283e2266fd4a5ad631c..83e981b293ee5661e4a144c0cb6a20ce27d0f5c6 100644 (file)
--- a/helper.py
+++ b/helper.py
@@ -129,8 +129,8 @@ def main_process_market(user_market, actions, before=False, after=False):
         if before:
             process_sell_all__1_all_sell(user_market)
         if after:
-            portfolio.Portfolio.wait_for_recent(user_market)
-            process_sell_all__2_all_buy(user_market)
+            process_sell_all__2_wait(user_market)
+            process_sell_all__3_all_buy(user_market)
     else:
         for action in actions:
             if action in globals():
@@ -191,15 +191,20 @@ def process_sell_all__1_all_sell(market, base_currency="BTC", liquidity="medium"
     market.balances.fetch_balances(tag="process_sell_all__1_all_sell_end")
     market.report.log_stage("process_sell_all__1_all_sell_end")
 
-def process_sell_all__2_all_buy(market, base_currency="BTC", liquidity="medium"):
-    market.report.log_stage("process_sell_all__2_all_buy_begin")
-    market.balances.fetch_balances(tag="process_sell_all__2_all_buy_begin")
+def process_sell_all__2_wait(market, liquidity="medium", base_currency="BTC"):
+    market.report.log_stage("process_sell_all__2_wait_begin")
+    portfolio.Portfolio.wait_for_recent(market)
+    market.report.log_stage("process_sell_all__2_wait_end")
+
+def process_sell_all__3_all_buy(market, base_currency="BTC", liquidity="medium"):
+    market.report.log_stage("process_sell_all__3_all_buy_begin")
+    market.balances.fetch_balances(tag="process_sell_all__3_all_buy_begin")
     market.prepare_trades(liquidity=liquidity, base_currency=base_currency)
     market.trades.prepare_orders(compute_value="average")
     market.move_balances()
     market.trades.run_orders()
     market.follow_orders()
-    market.balances.fetch_balances(tag="process_sell_all__2_all_buy_end")
-    market.report.log_stage("process_sell_all__2_all_buy_end")
+    market.balances.fetch_balances(tag="process_sell_all__3_all_buy_end")
+    market.report.log_stage("process_sell_all__3_all_buy_end")
 
 
diff --git a/test.py b/test.py
index 14b5559a354fb173e26f3966c31b600b1c1eeaae..235f6189008ae7bf67cbf5c17600c153d14db618 100644 (file)
--- a/test.py
+++ b/test.py
@@ -2875,9 +2875,9 @@ class HelperTest(WebMockTestCase):
             self.assertRegex(stdout_mock.getvalue(), "impossible to store report file: FileNotFoundError;")
 
     @mock.patch("helper.process_sell_all__1_all_sell")
-    @mock.patch("helper.process_sell_all__2_all_buy")
-    @mock.patch("portfolio.Portfolio.wait_for_recent")
-    def test_main_process_market(self, wait, buy, sell):
+    @mock.patch("helper.process_sell_all__2_wait")
+    @mock.patch("helper.process_sell_all__3_all_buy")
+    def test_main_process_market(self, buy, wait, sell):
         with self.subTest(before=False, after=False):
             helper.main_process_market("user", None)
             
@@ -3117,12 +3117,22 @@ class HelperTest(WebMockTestCase):
             mock.call("process_sell_all__1_all_sell_end")
             ])
 
-    def test_process_sell_all__2_all_buy(self):
-        helper.process_sell_all__2_all_buy(self.m)
+    @mock.patch("portfolio.Portfolio.wait_for_recent")
+    def test_process_sell_all__2_wait(self, wait):
+        helper.process_sell_all__2_wait(self.m)
+
+        wait.assert_called_once_with(self.m)
+        self.m.report.log_stage.assert_has_calls([
+            mock.call("process_sell_all__2_wait_begin"),
+            mock.call("process_sell_all__2_wait_end")
+            ])
+
+    def test_process_sell_all__3_all_buy(self):
+        helper.process_sell_all__3_all_buy(self.m)
 
         self.m.balances.fetch_balances.assert_has_calls([
-            mock.call(tag="process_sell_all__2_all_buy_begin"),
-            mock.call(tag="process_sell_all__2_all_buy_end"),
+            mock.call(tag="process_sell_all__3_all_buy_begin"),
+            mock.call(tag="process_sell_all__3_all_buy_end"),
             ])
         self.m.prepare_trades.assert_called_with(base_currency="BTC",
                 liquidity="medium")
@@ -3131,8 +3141,8 @@ class HelperTest(WebMockTestCase):
         self.m.trades.run_orders.assert_called()
         self.m.follow_orders.assert_called()
         self.m.report.log_stage.assert_has_calls([
-            mock.call("process_sell_all__2_all_buy_begin"),
-            mock.call("process_sell_all__2_all_buy_end")
+            mock.call("process_sell_all__3_all_buy_begin"),
+            mock.call("process_sell_all__3_all_buy_end")
             ])
 
 @unittest.skipUnless("acceptance" in limits, "Acceptance skipped")