Exemple #1
0
    def test_market_participant_history(self):
        outcome_token = OutcomeTokenFactory()
        event = outcome_token.event
        oracle = event.oracle
        market = MarketFactory(event=event)
        creation_date_time = datetime.now()
        sender_address = '{:040d}'.format(100)

        response = self.client.get(
            reverse('api:trades-by-owner', kwargs={'market_address': market.address, 'owner_address': sender_address}),
            content_type='application/json'
        )
        self.assertEquals(response.status_code, status.HTTP_200_OK)
        self.assertEquals(len(json.loads(response.content).get('results')), 0)

        # Buy Order
        BuyOrderFactory(market=market, sender=sender_address)
        BuyOrderFactory(market=market, sender=sender_address)

        response = self.client.get(
            reverse('api:trades-by-owner', kwargs={'market_address': market.address, 'owner_address': sender_address}),
            content_type='application/json'
        )
        self.assertEquals(response.status_code, status.HTTP_200_OK)
        self.assertEquals(len(json.loads(response.content).get('results')), 2)
Exemple #2
0
    def test_market_marginal_prices(self):
        oracle = CentralizedOracleFactory()
        categorical_event = CategoricalEventFactory(oracle=oracle)
        outcome_token = OutcomeTokenFactory(event=categorical_event)
        market = MarketFactory(event=categorical_event)
        sender_address = '{:040d}'.format(100)

        # Buy Order
        order_one = BuyOrderFactory(market=market, sender=sender_address)
        order_two = BuyOrderFactory(market=market, sender=sender_address)
        market_response = self.client.get(reverse('api:markets-by-name', kwargs={'market_address': market.address}), content_type='application/json')
        market_data = json.loads(market_response.content)
        self.assertEquals(market_data.get('marginalPrices'), order_two.marginal_prices)
Exemple #3
0
    def test_shares_by_account(self):
        account1 = '{:040d}'.format(13)
        account2 = '{:040d}'.format(14)

        url = reverse('api:shares-by-account', kwargs={'account_address': account1})
        empty_shares_response = self.client.get(url, content_type='application/json')
        self.assertEquals(len(json.loads(empty_shares_response.content).get('results')), 0)

        oracle = CentralizedOracleFactory()
        event = CategoricalEventFactory(oracle=oracle)
        market = MarketFactory(event=event, creator=account1)
        outcome_token = OutcomeTokenFactory(event=market.event)
        OutcomeTokenBalanceFactory(owner=market.creator, outcome_token=outcome_token)
        BuyOrderFactory(outcome_token=outcome_token, sender=account1, market=market)

        url = reverse('api:shares-by-account', kwargs={'account_address': account1})
        shares_response = self.client.get(url, content_type='application/json')
        decoded_response = json.loads(shares_response.content)
        self.assertEquals(len(decoded_response.get('results')), 1)
        self.assertEquals(
            decoded_response.get('results')[0].get('eventDescription').get('title'),
            oracle.event_description.title
        )
        self.assertEquals(
            decoded_response.get('results')[0].get('marginalPrice'),
            0.5
        )

        url = reverse('api:shares-by-account', kwargs={'account_address': account2})
        no_shares_response = self.client.get(url, content_type='application/json')
        self.assertEquals(len(json.loads(no_shares_response.content).get('results')), 0)
Exemple #4
0
    def test_trades_by_account(self):
        account1 = '{:040d}'.format(13)
        account2 = '{:040d}'.format(14)

        url = reverse('api:trades-by-account',
                      kwargs={'account_address': account1})
        empty_trades_response = self.client.get(
            url, content_type='application/json')
        self.assertEquals(
            len(json.loads(empty_trades_response.content).get('results')), 0)

        BuyOrderFactory(sender=account1)

        url = reverse('api:trades-by-account',
                      kwargs={'account_address': account1})
        trades_response = self.client.get(url, content_type='application/json')
        self.assertEquals(
            len(json.loads(trades_response.content).get('results')), 1)

        url = reverse('api:trades-by-account',
                      kwargs={'account_address': account2})
        no_trades_response = self.client.get(url,
                                             content_type='application/json')
        self.assertEquals(
            len(json.loads(no_trades_response.content).get('results')), 0)
Exemple #5
0
    def test_market_trading_volume(self):

        # create markets
        market = MarketFactory()

        market_response_data = self.client.get(reverse('api:markets'), content_type='application/json')
        self.assertEquals(market_response_data.status_code, status.HTTP_200_OK)
        self.assertEquals(len(json.loads(market_response_data.content).get('results')), 1)

        self.assertEqual(json.loads(market_response_data.content)['results'][0]['tradingVolume'], "0")

        BuyOrderFactory(market=market, cost=12)

        market_response_data2 = self.client.get(reverse('api:markets'), content_type='application/json')
        self.assertEquals(market_response_data2.status_code, status.HTTP_200_OK)
        self.assertEquals(len(json.loads(market_response_data2.content).get('results')), 1)

        self.assertEqual(json.loads(market_response_data2.content)['results'][0]['tradingVolume'], "12")