]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_portfolio.py
Merge branch 'refactor_db' into dev
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_portfolio.py
index 14dc9954f63679c03a12a087c2f69102c3109705..969f5d4caf2f4a6f0dc1b5b1705f8d879da4730c 100644 (file)
@@ -2,6 +2,7 @@ from .helper import *
 import portfolio
 import datetime
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class ComputationTest(WebMockTestCase):
     def test_compute_value(self):
         compute = mock.Mock()
@@ -25,6 +26,7 @@ class ComputationTest(WebMockTestCase):
         portfolio.Computation.compute_value("foo", "bid", compute_value="test")
         compute.assert_called_with("foo", "bid")
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class TradeTest(WebMockTestCase):
 
     def test_values_assertion(self):
@@ -609,6 +611,7 @@ class TradeTest(WebMockTestCase):
         self.assertEqual("ETH", as_json["currency"])
         self.assertEqual("BTC", as_json["base_currency"])
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class BalanceTest(WebMockTestCase):
     def test_values(self):
         balance = portfolio.Balance("BTC", {
@@ -684,6 +687,7 @@ class BalanceTest(WebMockTestCase):
         self.assertEqual(D(0), as_json["margin_available"])
         self.assertEqual(D(0), as_json["margin_borrowed"])
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class OrderTest(WebMockTestCase):
     def test_values(self):
         order = portfolio.Order("buy", portfolio.Amount("ETH", 10),
@@ -819,14 +823,16 @@ class OrderTest(WebMockTestCase):
             order.cancel()
             self.m.ccxt.cancel_order.assert_not_called()
 
-    def test_dust_amount_remaining(self):
+    def test_mark_dust_amount_remaining(self):
         order = portfolio.Order("buy", portfolio.Amount("ETH", 10),
                 D("0.1"), "BTC", "long", self.m, "trade")
-        order.remaining_amount = mock.Mock(return_value=portfolio.Amount("ETH", 1))
-        self.assertFalse(order.dust_amount_remaining())
+        self.m.ccxt.is_dust_trade.return_value = False
+        order.mark_dust_amount_remaining_order()
+        self.assertEqual("pending", order.status)
 
-        order.remaining_amount = mock.Mock(return_value=portfolio.Amount("ETH", D("0.0001")))
-        self.assertTrue(order.dust_amount_remaining())
+        self.m.ccxt.is_dust_trade.return_value = True
+        order.mark_dust_amount_remaining_order()
+        self.assertEqual("closed_dust_remaining", order.status)
 
     @mock.patch.object(portfolio.Order, "fetch")
     @mock.patch.object(portfolio.Order, "filled_amount", return_value=portfolio.Amount("ETH", 1))
@@ -961,6 +967,7 @@ class OrderTest(WebMockTestCase):
                     "status": "foo",
                     "datetime": "timestamp"
                     }
+            self.m.ccxt.is_dust_trade.return_value = False
             order.fetch()
 
             self.m.ccxt.fetch_order.assert_called_once_with(45)
@@ -1745,6 +1752,7 @@ class OrderTest(WebMockTestCase):
             result = order.retrieve_order()
             self.assertFalse(result)
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class MouvementTest(WebMockTestCase):
     def test_values(self):
         mouvement = portfolio.Mouvement("ETH", "BTC", {
@@ -1802,6 +1810,7 @@ class MouvementTest(WebMockTestCase):
         self.assertEqual("BTC", as_json["base_currency"])
         self.assertEqual("ETH", as_json["currency"])
 
+@unittest.skipUnless("unit" in limits, "Unit skipped")
 class AmountTest(WebMockTestCase):
     def test_values(self):
         amount = portfolio.Amount("BTC", "0.65")