def test_rule_out_candidates_question_not_correct(self): game = Game.objects.get(pk=1) trait = Trait.objects.get(pk=3) trait_value = TraitValue.objects.get(pk=1) eq_(game.player2.candidates.count(), 3) question = Question(game=game, player=game.player1, trait=trait, value=trait_value) rule_out_candidates(question) eq_(game.player1.candidates.count(), 3)
def play_game(request, game_id): game = Game.objects.get(pk=int(game_id)) player = game.players.filter(user=request.user)[0] candidates = player.candidates.all() ctx = { 'opponent': get_game_opponent(game, player), 'person': player.person, 'num_candidates': candidates.count(), 'candidates': candidates } if request.method == 'POST': form = QuestionForm(game, player, request.POST) if form.is_valid(): custom_key = form.cleaned_data.get('question') trait_id, value_id = custom_key.split(':') question_data = { 'game': game, 'player': player, 'trait': Trait.objects.get(pk=trait_id), 'value': TraitValue.objects.get(pk=value_id) } question = Question(**question_data) rule_out_candidates(question) winner = is_game_complete(game) if winner: ctx.update({ 'game_over': True, 'user_won': winner.pk is player.pk }) else: form = QuestionForm(game, player) ctx['form'] = form return render_to_response('core/play_game.html', ctx, context_instance=RequestContext(request))