Skip to content

Commit 485166e

Browse files
committed
added fields to GSRSharedCodeSerializer
1 parent 046fada commit 485166e

2 files changed

Lines changed: 31 additions & 6 deletions

File tree

backend/gsr_booking/serializers.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,22 @@ def create(self, validated_data):
127127

128128
class SharedGSRBookingSerializer(serializers.ModelSerializer):
129129

130-
building = serializers.CharField(source="gsr.name")
131130
is_valid = serializers.SerializerMethodField()
132131
owner_name = serializers.SerializerMethodField()
132+
gsr = GSRSerializer(read_only=True)
133133

134134
class Meta:
135135
model = GSRBooking
136-
fields = ["room_name", "building", "start", "end", "is_valid", "owner_name"]
136+
fields = [
137+
"booking_id",
138+
"gsr",
139+
"room_id",
140+
"room_name",
141+
"start",
142+
"end",
143+
"is_valid",
144+
"owner_name",
145+
]
137146
read_only_fields = fields
138147

139148
def get_owner_name(self, obj):

backend/tests/gsr_booking/test_share_codes.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,22 @@ def test_view_shared_booking_public_access(self):
117117
payload = json.loads(response.content)
118118

119119
# Should only contain booking info and not owner info
120+
print("Payload: ", payload)
121+
self.assertIn("booking_id", payload)
122+
self.assertIn("gsr", payload)
123+
self.assertIn("lid", payload["gsr"])
124+
self.assertIn("gid", payload["gsr"])
125+
self.assertIn("name", payload["gsr"])
126+
self.assertIn("kind", payload["gsr"])
127+
self.assertIn("image_url", payload["gsr"])
120128
self.assertIn("room_name", payload)
121-
self.assertIn("building", payload)
129+
self.assertIn("room_id", payload)
122130
self.assertIn("start", payload)
123131
self.assertIn("end", payload)
124132
self.assertIn("is_valid", payload)
133+
self.assertIn("owner_name", payload)
125134
self.assertEqual(payload["room_name"], self.booking.room_name)
126-
self.assertEqual(payload["building"], self.booking.gsr.name)
135+
self.assertEqual(payload["gsr"]["name"], self.booking.gsr.name)
127136
self.assertEqual(payload["is_valid"], True)
128137

129138
def test_view_shared_booking_invalid_code(self):
@@ -304,17 +313,24 @@ def test_shared_booking_serializer(self):
304313
data = serializer.data
305314

306315
# Should have booking details
316+
self.assertIn("booking_id", data)
317+
self.assertIn("gsr", data)
318+
self.assertIn("lid", data["gsr"])
319+
self.assertIn("gid", data["gsr"])
320+
self.assertIn("name", data["gsr"])
321+
self.assertIn("kind", data["gsr"])
322+
self.assertIn("image_url", data["gsr"])
307323
self.assertIn("room_name", data)
308-
self.assertIn("building", data)
324+
self.assertIn("room_id", data)
309325
self.assertIn("start", data)
310326
self.assertIn("end", data)
311327
self.assertIn("is_valid", data)
328+
self.assertIn("owner_name", data)
312329

313330
# Should not have owner info
314331
self.assertNotIn("user", data)
315332
self.assertNotIn("owner", data)
316333
self.assertNotIn("reservation", data)
317-
self.assertNotIn("booking_id", data)
318334

319335
def test_is_valid_method(self):
320336
share_code = GSRShareCode.objects.create(

0 commit comments

Comments
 (0)