Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 41 additions & 1 deletion src/chigame/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
)
from chigame.leaderboards.models import MetricScore
from chigame.users.models import Group, UserProfile
from chigame.knowledge_base.models import Guide, GeneralFeedback, ReviewFeedback


class GameSerializer(serializers.ModelSerializer):
Expand Down Expand Up @@ -225,7 +226,7 @@ class Meta:
model = LiveChat
fields = ["id", "name", "users"]


class InteractiveFictionGameSerializer(serializers.ModelSerializer):
class Meta:
model = InteractiveFictionGame
Expand Down Expand Up @@ -356,3 +357,42 @@ class CheckersTurnSerializer(serializers.ModelSerializer):
class Meta:
model = CheckersTurn
fields = ["id", "game", "board", "turn_number", "player"]


class GuideSerializer(serializers.ModelSerializer):
class Meta:
model = Guide
fields = [
"id",
"author",
"game_id",
"content",
"recent_upload",
"status",
"likes",
"favorites",
]


class ReviewFeedbackSerializer(serializers.ModelSerializer):
class Meta:
model = ReviewFeedback
fields = [
"id",
"reviewer",
"comment",
"guide_id",
"status",
"timestamp",
"seen",
]


class GeneralFeedbackSerializer(serializers.ModelSerializer):
class Meta:
model = GeneralFeedback
fields = [
"id",
"feedback",
"created_at",
]
44 changes: 44 additions & 0 deletions src/chigame/api/tests/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from chigame.chat.models import LiveChat, LiveChatUser
from chigame.games.models import Category, Chat, Feedback, Game, Lobby, Match, Mechanic, Review, Tournament
from chigame.users.models import User
from chigame.knowledge_base.models import Guide, GeneralFeedback, ReviewFeedback


class CategoryFactory(DjangoModelFactory):
Expand Down Expand Up @@ -228,3 +229,46 @@ def users(self, create, extracted, **kwargs):
if extracted:
for user in extracted:
LiveChatUser.objects.create(user=user, live_chat=self)


class GuideFactory(DjangoModelFactory):
class Meta:
model = Guide

author = factory.SubFactory(UserFactory)
game_id = factory.SubFactory(GameFactory)
content = factory.Faker("paragraph")
recent_upload = factory.LazyFunction(timezone.now)
status = Guide.GuideStatus.PENDING

@factory.post_generation
def likes(self, create, extracted, **kwargs):
if not create or not extracted:
return
for user in extracted:
self.likes.add(user)

@factory.post_generation
def favorites(self, create, extracted, **kwargs):
if not create or not extracted:
return
for user in extracted:
self.favorites.add(user)

class ReviewFeedbackFactory(DjangoModelFactory):
class Meta:
model = ReviewFeedback

reviewer = factory.SubFactory(UserFactory)
comment = factory.Faker("sentence")
guide_id = factory.SubFactory(GuideFactory)
status = Guide.GuideStatus.ACCEPTED
timestamp = factory.LazyFunction(timezone.now)
seen = False

class GeneralFeedbackFactory(DjangoModelFactory):
class Meta:
model = GeneralFeedback

feedback = factory.Faker("sentence")
created_at = factory.LazyFunction(timezone.now)
Loading