Skip to content

Commit

Permalink
Contributor tests
Browse files Browse the repository at this point in the history
  • Loading branch information
SalmanAsh committed Jul 12, 2024
1 parent c040e51 commit 276b709
Showing 1 changed file with 54 additions and 1 deletion.
55 changes: 54 additions & 1 deletion api/serializers/contributor_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class TestContributorSerializer(ModelSerializerTestCase[User, Contributor]):
model_serializer_class = ContributorSerializer

def setUp(self):
"""Set up data to be used for testing"""
self.data1 = {
"id": 1,
"email": "[email protected]",
Expand All @@ -40,6 +41,58 @@ def test_create(self):

def test_create_list(self):
"""List all contributor"""
# expected = [self.data1, self.data2]
# Create multiple Contributors
self.assert_create(validated_data=self.data1, new_data=self.data1)
self.assert_create(validated_data=self.data2, new_data=self.data2)

# Compare results
queryset = Contributor.objects.all()
assert len(queryset) == 2

def test_get_first(self):
"""Retrieve the first object"""
# Create multiple Contributors
self.assert_create(validated_data=self.data1, new_data=self.data1)
self.assert_create(validated_data=self.data2, new_data=self.data2)

# Retrieve the first and compare
cont = Contributor.objects.first()
serializer = ContributorSerializer(cont)
assert serializer.data["id"] == self.data1["id"]

def test_get_any(self):
""" " Retrieve any object using its id"""
# Create multiple Contributors
self.assert_create(validated_data=self.data1, new_data=self.data1)
self.assert_create(validated_data=self.data2, new_data=self.data2)

# Retrieve by id and compare
cont = Contributor.objects.get(id=2)
serializer = ContributorSerializer(cont)
assert serializer.data["id"] == self.data2["id"]

def test_update(self):
"""Updating a single contributor"""
# Create a new contributor
cont = Contributor.objects.create(
id=1,
email="[email protected]",
name="Cont One",
location="London",
html_url="http://github.com/cont1",
avatar_url="https://testcont.github.io/gravatar-url-generator/",
)

# Expected Results
new_data = {"email": "[email protected]", "name": "New Name"}
expected = {
"id": 1,
"email": "[email protected]",
"name": "New Name",
"location": "London",
"html_url": "http://github.com/cont1",
"avatar_url": "https://testcont.github.io/gravatar-url-generator/",
}
self.assert_update(
instance=cont, validated_data=new_data, new_data=expected
)

0 comments on commit 276b709

Please sign in to comment.