def test_per_user_bets_multiple(self): Userinfo.objects.create(username="******", password="******", emailID="*****@*****.**") user = Userinfo.objects.get(username='******') Topics.objects.create(topic_name="xyz", creator_name=user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") Topics.objects.create(topic_name="xyz1", creator_name=user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="xyz") pb().place_a_bet(tpcid.topic_id, 'testuser1', 'A', 100) tpcid1 = Topics.objects.get(topic_name="xyz1") pb().place_a_bet(tpcid1.topic_id, 'testuser1', 'B', 200) res_status, bet_list = UserBetDetials.get_peruser_bets("testuser1") self.assertTrue(res_status, "success") self.assertEqual(len(bet_list), 2) _betlist = bet_list[0] self.assertEqual(_betlist['amount'], 100) self.assertEqual(_betlist['option'], "A") self.assertNotEquals(_betlist['bet_id'], 0) self.assertNotEquals(_betlist['topic_id_id'], 0) self.assertEqual(_betlist['username_id'], "testuser1") _betlist = bet_list[1] self.assertEqual(_betlist['amount'], 200) self.assertEqual(_betlist['option'], "B") self.assertNotEquals(_betlist['bet_id'], 0) self.assertNotEquals(_betlist['topic_id_id'], 0) self.assertEqual(_betlist['username_id'], "testuser1")
def test_place_a_bet_invalid_user(self): Userinfo.objects.create(username="******", password="******", emailID="*****@*****.**") user = Userinfo.objects.get(username='******') Topics.objects.create(topic_name="test_topic4", creator_name=user, start_date="2017-11-21",end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="test_topic4") response = pb().place_a_bet(87, 'testuser8', 'A', 100) self.assertEqual(response, "Invalid topic id/Username")
def test_place_a_bet_multiple_betinfo(self): Userinfo.objects.create(username="******", password="******", emailID="*****@*****.**") user = Userinfo.objects.get(username='******') Topics.objects.create(topic_name="test_topic3", creator_name=user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="test_topic3") BetInfo.objects.create(topic_id_id=tpcid.topic_id, option= 'A', total_amount=100, total_users=10) BetInfo.objects.create(topic_id_id=tpcid.topic_id, option= 'A', total_amount=100, total_users=10) response = pb().place_a_bet(tpcid.topic_id,'testuser7', 'A', 100) self.assertEqual(response, "Error in database, multiple records exists in Betinfo")
def test_get_option_list_multiple(self): Userinfo.objects.create(username="******", password="******", emailID="*****@*****.**") user = Userinfo.objects.get(username='******') Topics.objects.create(topic_name="test_topic", creator_name=user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="test_topic") Bets.objects.create(topic_id=tpcid, username=user, option='A', amount=140) Bets.objects.create(topic_id=tpcid, username=user, option='A', amount=140) Bets.objects.create(topic_id=tpcid, username=user, option='B', amount=140) Bets.objects.create(topic_id=tpcid, username=user, option='C', amount=140) options = pb().get_option_list(tpcid.topic_id) self.assertEqual(options,['A','B','C'])
def test_client_single_bets_api(self): Topics.objects.create(topic_name="xyz", creator_name=self.user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="xyz") pb().place_a_bet(tpcid.topic_id, 'testuser1', 'A', 100) self.client.defaults['HTTP_AUTHORIZATION'] = self.valid_token response = self.client.post( 'http://localhost:8000/api/v1/userbetdetails/', self.user_dict) res = response.json() self.assertEqual(res['status'], "success") self.assertEqual(len(res['user_bets_info']), 1) _betlist = res['user_bets_info'][0] self.assertEqual(_betlist['amount'], 100) self.assertEqual(_betlist['option'], "A") self.assertNotEquals(_betlist['bet_id'], 0) self.assertNotEquals(_betlist['topic_id_id'], 0) self.assertEqual(_betlist['username_id'], "testuser1")
def test_place_a_bet_nobetinfo(self): Userinfo.objects.create(username="******", password="******", emailID="*****@*****.**") user = Userinfo.objects.get(username='******') Topics.objects.create(topic_name="test_topic1", creator_name=user, start_date="2017-11-21", end_date="2017-11-21", date_of_creation="2017-11-21") tpcid = Topics.objects.get(topic_name="test_topic1") response = pb().place_a_bet(tpcid.topic_id,'testuser5', 'A', 100) self.assertEqual(response, "Success and new row inserted in BetInfo") bet = Bets.objects.filter(topic_id_id=tpcid.topic_id, username_id='testuser5', option='A', amount=100).values() self.assertEqual(bet[0]['topic_id_id'],tpcid.topic_id) self.assertEqual(bet[0]['username_id'],'testuser5') self.assertEqual(bet[0]['option'],'A') self.assertEqual(bet[0]['amount'],100) betinfo = BetInfo.objects.filter(topic_id_id=tpcid.topic_id, option= 'A').values() self.assertEqual(betinfo[0]['total_amount'],100) self.assertEqual(betinfo[0]['total_users'],1)
def test_get_option_list_blank(self): options = pb().get_option_list(1) self.assertEqual(options,list())