API Game : ajout des champs status, unplayed, playing et wish
This commit is contained in:
parent
8dec41073f
commit
1845ae9eac
5
TODO
5
TODO
@ -1,7 +1,5 @@
|
|||||||
# À faire
|
# À faire
|
||||||
|
|
||||||
* Ajouter le champ "status" des jeux dans l'API
|
|
||||||
* API jeux : ajouter wish, playing et unplayed
|
|
||||||
* Ajouter des help_text à tous les champs + classes enfants. Les traduire.
|
* Ajouter des help_text à tous les champs + classes enfants. Les traduire.
|
||||||
* étudier la possibilité à l'utilisateur, via des variables d'environnement, de configurer un email, une autre BDD, etc.
|
* étudier la possibilité à l'utilisateur, via des variables d'environnement, de configurer un email, une autre BDD, etc.
|
||||||
|
|
||||||
@ -18,8 +16,9 @@
|
|||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
* Sur Console
|
* Sur Platform
|
||||||
* Sur Game
|
* Sur Game
|
||||||
|
* API : sur Game, pour les champs wish, unplayed, playing et status
|
||||||
* travis.yml to launch test
|
* travis.yml to launch test
|
||||||
* Selenium pour vérifier :
|
* Selenium pour vérifier :
|
||||||
* que Nouveau n'apparaisse pas dans la liste des états possibles
|
* que Nouveau n'apparaisse pas dans la liste des états possibles
|
||||||
|
@ -2,13 +2,21 @@ from games.models import Game, Platform
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
|
||||||
|
class GameSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Game
|
||||||
|
fields = (
|
||||||
|
'collection',
|
||||||
|
'name',
|
||||||
|
'note',
|
||||||
|
'playing',
|
||||||
|
'status',
|
||||||
|
'unplayed',
|
||||||
|
'wish',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PlatformSerializer(serializers.ModelSerializer):
|
class PlatformSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Platform
|
model = Platform
|
||||||
fields = ('name',)
|
fields = ('name',)
|
||||||
|
|
||||||
|
|
||||||
class GameSerializer(serializers.HyperlinkedModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = Game
|
|
||||||
fields = ('name', 'collection')
|
|
||||||
|
@ -64,8 +64,8 @@ class GameTest(APITestCase):
|
|||||||
|
|
||||||
url = reverse('game-list')
|
url = reverse('game-list')
|
||||||
data = {
|
data = {
|
||||||
'name': 'Tetris',
|
'name': 'Tetris',
|
||||||
'collection': console_url,
|
'collection': console_url,
|
||||||
}
|
}
|
||||||
self.client.force_authenticate(user=self.superuser)
|
self.client.force_authenticate(user=self.superuser)
|
||||||
response = self.client.post(url, data, format='json')
|
response = self.client.post(url, data, format='json')
|
||||||
@ -98,3 +98,17 @@ class GameTest(APITestCase):
|
|||||||
games = [x.get('name') for x in json.loads(response.content)]
|
games = [x.get('name') for x in json.loads(response.content)]
|
||||||
self.assertEqual(games, sorted_games)
|
self.assertEqual(games, sorted_games)
|
||||||
|
|
||||||
|
def test_not_allowed_status(self):
|
||||||
|
"""
|
||||||
|
Check that we cannot insert a not allowed status in a Game
|
||||||
|
"""
|
||||||
|
console = Platform.objects.create(name='BestPlatform4Ever')
|
||||||
|
url = reverse('game-list')
|
||||||
|
data = {
|
||||||
|
'name': 'Vilebrequin',
|
||||||
|
'status': 'wrecked',
|
||||||
|
}
|
||||||
|
self.client.force_authenticate(user=self.superuser)
|
||||||
|
response = self.client.post(url, data, format='json')
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||||
|
self.assertEqual(Game.objects.count(), 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user