def test_get_bet_social(self): """ Get bet social """ event = EventFactory() users_yes = UserFactory.create_batch(10) users_no = UserFactory.create_batch(10) bets_yes = [BetFactory(user=u, event=event) for u in users_yes] bets_no = [BetFactory(user=u, event=event, outcome=Bet.NO) for u in users_no] self.maxDiff = None social = event.get_bet_social() self.assertEqual(10, social['yes_count']) self.assertEqual(bets_yes[:6], list(social['yes_bets'])) self.assertEqual(10, social['no_count']) self.assertEqual(bets_no[:6], list(social['no_bets']))
def test_total_of_matters_by_staff_reports_without_matter(snapshot, request): """ Test success total of matters by staff reports without matter """ staff_members = UserFactory.create_batch(size=3, ) client = Client(schema) executed = client.execute( """ query totalOfMattersByStaffReports( $staffMembers: [ID], $matterStatus: Int ) { totalOfMattersByStaffReports( staffMembers: $staffMembers, matterStatus: $matterStatus, ) { id date staffMembers{ id } } } """, variable_values={ 'staffMembers': [ to_global_id('UserType', staff_member.id) for staff_member in staff_members ], 'matterStatus': 0, }, ) snapshot.assert_match(executed)
def handle(self, *args, **options): users = UserFactory.create_batch(options['count']) self.stdout.write( self.style.SUCCESS(f'{len(users)} user(s) successfully created.')) for user in users: self.stdout.write( self.style.SUCCESS( f'{user.get_full_name()}: {user.email}, {UserFactory.plain_password}' ))
def setUp(self): HospitalFactory.create_batch(5) Hospital.objects.filter(id=1).update(is_kamc=True) SpecialtyFactory.create_batch(5) Department.objects.create( hospital=Hospital.objects.first(), specialty=Specialty.objects.first(), contact_name="", contact_position="", email="", phone="", extension="", ) UserFactory.create_batch(10) super(ProtractorTests, self).setUp()
def test_current_event_price(self): """ Current event price """ event = EventFactory() users = UserFactory.create_batch(2) bet1 = BetFactory(event=event, user=users[0], outcome=Bet.YES) bet2 = BetFactory(event=event, user=users[1], outcome=Bet.NO) event.current_buy_for_price = 55 event.current_buy_against_price = 45 self.assertEqual(55, bet1.current_event_price()) self.assertEqual(45, bet2.current_event_price())
def test_finish_yes(self): """ Finish event with outcome yes """ users = UserFactory.create_batch(3) for u in users: u.portfolio_value = 1000 u.total_cash = 2000 event = EventFactory() bets = [BetFactory(event=event, user=user, has=3) for user in users[:2]] bets[1].outcome = Bet.NO bets[1].save() event.finish_yes() self.assertIsNotNone(event.end_date) self.assertEqual(Event.FINISHED_YES, event.outcome) event2 = EventFactory(outcome=Event.FINISHED_NO) with self.assertRaises(EventNotInProgress): event2.finish_yes()
def test_units_by_staff_reports_without_data(snapshot, request): """ Test success units by staff reports """ from_date = '' to_date = '' staff_members = UserFactory.create_batch(size=3) client = Client(schema) executed = client.execute( """ query unitsByStaffReports( $staffMembers:[ID], $fromDate:String, $toDate:String ) { unitsByStaffReports( staffMembers:$staffMembers, fromDate:$fromDate, toDate:$toDate ) { id date staffMembers { id } } } """, variable_values={ 'staffMembers': [ to_global_id('UserType', staff_member.id) for staff_member in staff_members ], 'fromDate': from_date, 'toDate': to_date, }, ) snapshot.assert_match(executed)
def test_get_user_event_and_bet_for_update(self): """ Get users event and bet for update """ users = UserFactory.create_batch(2) events = EventFactory.create_batch(3) with self.assertRaises(NonexistantEvent): Bet.objects.get_user_event_and_bet_for_update(users[0], -1, Bet.YES) events[1].finish_yes() with self.assertRaises(EventNotInProgress): Bet.objects.get_user_event_and_bet_for_update(users[0], 2, Bet.YES) with self.assertRaises(UnknownOutcome): Bet.objects.get_user_event_and_bet_for_update(users[0], 1, 'OOOPS') new_bet = Bet.objects.get_user_event_and_bet_for_update(users[0], 1, Bet.YES) self.assertEqual(users[0], new_bet[0]) self.assertEqual(events[0], new_bet[1]) bet = BetFactory(user=users[1], event=events[2]) self.assertEqual( (users[1], events[2], bet), Bet.objects.get_user_event_and_bet_for_update(users[1], 3, Bet.YES) )