Commit d7fea917 by Zia Fazal Committed by Jonathan Piacenti

ziafazal/api-ability-to-create-project-by-org-id

Will accept organisation id instead or uri while creating group projects

ziafazal/api-ability-to-create-project-by-org-id:Made organisation optional
parent a6dc9367
......@@ -23,7 +23,7 @@ class Project(TimeStampedModel):
class Meta:
""" Meta class for defining additional model characteristics """
unique_together = ("course_id", "content_id")
unique_together = ("course_id", "content_id", "organization")
class Workgroup(TimeStampedModel):
......
......@@ -48,6 +48,7 @@ class GradeSerializer(serializers.Serializer):
class ProjectSerializer(serializers.HyperlinkedModelSerializer):
""" Serializer for model interactions """
workgroups = serializers.PrimaryKeyRelatedField(many=True, required=False)
organization = serializers.PrimaryKeyRelatedField(required=False)
class Meta:
""" Meta class for defining additional serializer characteristics """
......
......@@ -99,7 +99,7 @@ class ProjectsApiTests(TestCase):
}
response = self.do_post(self.test_organizations_uri, data)
self.assertEqual(response.status_code, 201)
test_org_id = response.data['url']
test_org_id = response.data['id']
test_course_content_id = "i4x://blahblah1234"
data = {
......@@ -124,6 +124,19 @@ class ProjectsApiTests(TestCase):
self.assertIsNotNone(response.data['created'])
self.assertIsNotNone(response.data['modified'])
def test_projects_list_post_without_org(self):
test_course_content_id = "i4x://blahblah1234"
data = {
'name': self.test_project_name,
'course_id': self.test_course_id,
'content_id': test_course_content_id,
'organization': None
}
response = self.do_post(self.test_projects_uri, data)
self.assertEqual(response.status_code, 201)
self.assertGreater(response.data['id'], 0)
self.assertEqual(response.data['organization'], None)
def test_projects_detail_get(self):
test_uri = '{}{}/'.format(self.test_projects_uri, self.test_project.id)
response = self.do_get(test_uri)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment