def test_list_pieces_when_some(self): from dynamicfixtures import ( _djroot_user, _prize_juror, _prize_piece_alice, _prize_piece_bob, _rating_piece_alice, _rating_piece_bob, _alice_bitcoin_wallet, _bob_bitcoin_wallet, ) from ..api import PrizePieceEndpoint _djroot_user() _prize_piece_alice() _prize_piece_bob() _rating_piece_alice() _rating_piece_bob() prize_juror = _prize_juror() _alice_bitcoin_wallet() _bob_bitcoin_wallet() subdomain = prize_juror.prize.whitelabel_settings.subdomain url = reverse('api:prize:prize-pieces-list', kwargs={'domain_pk': subdomain}) view = PrizePieceEndpoint.as_view({'get': 'list'}) factory = APIRequestFactory() request = factory.get(url) force_authenticate(request, user=prize_juror.user) response = view(request, domain_pk=subdomain) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['count'], 2)
def test_retrieve_rating(self): from dynamicfixtures import ( _prize_juror, _prize_piece_alice, _rating_piece_alice, ) from ..api import RatingEndpoint prize_piece_alice = _prize_piece_alice() rating_piece_alice = _rating_piece_alice() prize_juror = _prize_juror() piece_pk = prize_piece_alice.piece.pk subdomain = prize_juror.prize.whitelabel_settings.subdomain url = reverse('api:prize:rating-detail', kwargs={ 'pk': piece_pk, 'domain_pk': subdomain }) view = RatingEndpoint.as_view({'get': 'retrieve'}) factory = APIRequestFactory() request = factory.get(url) force_authenticate(request, user=prize_juror.user) response = view(request, pk=piece_pk, domain_pk=subdomain) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['rating']['rating'], str(rating_piece_alice.rating))
def test_list_ratings_for_second_round_of_portfolioreview(self): from dynamicfixtures import ( _prize_juror, _prize_piece_alice, _prize_piece_bob, _rating_piece_alice, _rating_piece_bob, ) from ..api import RatingEndpoint round_two_starttime = datetime.strptime( settings.PORTFOLIO_REVIEW_ROUND_TWO_STARTTIME, settings.PORTFOLIO_REVIEW_ROUND_TIMEFORMAT, ).replace(tzinfo=pytz.UTC) subdomain = 'portfolioreview' _prize_piece_alice(subdomain=subdomain) _prize_piece_bob(subdomain=subdomain) rating_piece_alice = _rating_piece_alice(subdomain=subdomain) rating_piece_bob = _rating_piece_bob(subdomain=subdomain) rating_piece_alice.datetime = round_two_starttime rating_piece_alice.save() rating_piece_bob.datetime = round_two_starttime - timedelta(seconds=1) rating_piece_bob.save() prize_juror = _prize_juror(subdomain=subdomain) url = reverse('api:prize:rating-list', kwargs={'domain_pk': subdomain}) view = RatingEndpoint.as_view({'get': 'list'}) factory = APIRequestFactory() request = factory.get(url, {'prize_round': 2}) force_authenticate(request, user=prize_juror.user) response = view(request, domain_pk=subdomain) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn('ratings', response.data) self.assertEqual(len(response.data['ratings']), 1) self.assertIn(str(rating_piece_alice.rating), response.data['ratings'][0]['rating'])
def test_list_ratings_when_some(self): from dynamicfixtures import ( _prize_juror, _prize_piece_alice, _prize_piece_bob, _rating_piece_alice, _rating_piece_bob, ) from ..api import RatingEndpoint _prize_piece_alice() _prize_piece_bob() rating_piece_alice = _rating_piece_alice() rating_piece_bob = _rating_piece_bob() prize_juror = _prize_juror() subdomain = prize_juror.prize.whitelabel_settings.subdomain url = reverse('api:prize:rating-list', kwargs={'domain_pk': subdomain}) view = RatingEndpoint.as_view({'get': 'list'}) factory = APIRequestFactory() request = factory.get(url) force_authenticate(request, user=prize_juror.user) response = view(request, domain_pk=subdomain) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn('ratings', response.data) self.assertEqual(len(response.data['ratings']), 2) ratings = [rating['rating'] for rating in response.data['ratings']] self.assertIn(str(rating_piece_alice.rating), ratings) self.assertIn(str(rating_piece_bob.rating), ratings)
def test_list_pieces_for_second_round_of_portfolioreview(self): from dynamicfixtures import ( _djroot_user, _prize_juror, _prize_piece_alice, _prize_piece_bob, _rating_piece_alice, _rating_piece_bob, _alice_bitcoin_wallet, _bob_bitcoin_wallet, ) from ..api import PrizePieceEndpoint _djroot_user() _alice_bitcoin_wallet() _bob_bitcoin_wallet() subdomain = 'portfolioreview' prize_piece_alice = _prize_piece_alice(subdomain=subdomain) prize_piece_alice.round = 2 prize_piece_alice.save() _prize_piece_bob(subdomain=subdomain) round_two_starttime = datetime.strptime( settings.PORTFOLIO_REVIEW_ROUND_TWO_STARTTIME, settings.PORTFOLIO_REVIEW_ROUND_TIMEFORMAT, ).replace(tzinfo=pytz.UTC) rating_piece_alice = _rating_piece_alice(subdomain=subdomain) rating_piece_bob = _rating_piece_bob(subdomain=subdomain) rating_piece_alice.datetime = round_two_starttime rating_piece_alice.save() rating_piece_bob.datetime = round_two_starttime - timedelta(seconds=1) rating_piece_bob.save() prize_juror = _prize_juror(subdomain=subdomain) prize = prize_juror.prize prize.active_round = 2 prize.save() url = reverse('api:prize:prize-pieces-list', kwargs={'domain_pk': subdomain}) view = PrizePieceEndpoint.as_view({'get': 'list'}) factory = APIRequestFactory() request = factory.get(url) force_authenticate(request, user=prize_juror.user) response = view(request, domain_pk=subdomain) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['count'], 1) self.assertIsNotNone(response.data['pieces'][0]['ratings'])