Exemplo n.º 1
0
 def test_create_retreat_for_must_retreat_piece(self):
     turn = models.Turn.objects.create(
         game=self.game,
         season=Season.SPRING,
         phase=Phase.RETREAT_AND_DISBAND,
         year=1900,
         current_turn=True,
     )
     self.nation_state.turn = turn
     self.nation_state.save()
     territory_state = factories.TerritoryStateFactory(
         turn=turn,
         controlled_by=self.nation_state.nation,
     )
     self.piece_state.turn = turn
     self.piece_state.must_retreat = True
     self.piece_state.save()
     territory = territory_state.territory
     self.data = {
         'source': self.territory.id,
         'target': territory.id,
         'type': OrderType.RETREAT,
     }
     response = self.client.post(self.url, self.data, format='json')
     self.assertEqual(response.status_code, status.HTTP_201_CREATED)
Exemplo n.º 2
0
 def test_create_order_no_orders_left_retreat_and_disband(self):
     models.Turn.objects.create(
         game=self.game,
         season=Season.SPRING,
         phase=Phase.RETREAT_AND_DISBAND,
         year=1900,
         current_turn=True,
     )
     nation_state = factories.NationStateFactory(
         turn=self.game.get_current_turn(),
         user=self.user,
     )
     territory_state = factories.TerritoryStateFactory(
         turn=self.game.get_current_turn(),
         controlled_by=nation_state.nation,
     )
     models.PieceState.objects.all().delete()
     territory = territory_state.territory
     self.data = {
         'source': self.territory.id,
         'target': territory.id,
         'type': OrderType.RETREAT,
     }
     response = self.client.post(self.url, self.data, format='json')
     self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
Exemplo n.º 3
0
 def test_create_order_hold_during_retreat(self):
     models.Turn.objects.create(
         game=self.game,
         season=Season.SPRING,
         phase=Phase.RETREAT_AND_DISBAND,
         year=1900,
         current_turn=True,
     )
     nation_state = factories.NationStateFactory(
         turn=self.game.get_current_turn(),
         user=self.user,
     )
     territory_state = factories.TerritoryStateFactory(
         turn=self.game.get_current_turn(),
         controlled_by=nation_state.nation,
     )
     self.territory = territory_state.territory
     response = self.client.post(self.url, self.data, format='json')
     self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
Exemplo n.º 4
0
    def test_create_order_valid_over_writes(self):
        response = self.client.post(self.url, self.data, format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertTrue(models.Order.objects.get())  # object created

        territory_state = factories.TerritoryStateFactory(
            turn=self.turn,
            controlled_by=self.nation_state.nation,
        )
        territory = territory_state.territory
        self.data = {
            'source': self.territory.id,
            'target': territory.id,
            'type': OrderType.MOVE,
        }
        response = self.client.post(self.url, self.data, format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        order = models.Order.objects.get()
        self.assertEqual(order.type, OrderType.MOVE)
        self.assertEqual(order.target, territory)
Exemplo n.º 5
0
 def setUp(self):
     self.user = factories.UserFactory()
     self.variant = factories.VariantFactory()
     self.game = models.Game.objects.create(
         status=GameStatus.ACTIVE,
         variant=self.variant,
         name='Test Game',
         created_by=self.user,
         num_players=7
     )
     self.game.participants.add(self.user)
     turn = models.Turn.objects.create(
         game=self.game,
         year=1901,
         phase=Phase.ORDER,
         season=Season.SPRING,
     )
     nation = models.Nation.objects.create(
         variant=self.game.variant,
         name='France',
     )
     self.nation_state = models.NationState.objects.create(
         nation=nation,
         turn=turn,
         user=self.user,
         orders_finalized=True,
     )
     territory_state = factories.TerritoryStateFactory(
         turn=self.game.get_current_turn(),
         controlled_by=self.nation_state.nation,
     )
     self.territory = territory_state.territory
     self.url = reverse(
         'toggle-finalize-orders',
         args=[self.nation_state.id]
     )
     self.data = {}