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)
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)
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)
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)
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")