diff --git a/uw_adsel/__init__.py b/uw_adsel/__init__.py index 705a996..90625e8 100644 --- a/uw_adsel/__init__.py +++ b/uw_adsel/__init__.py @@ -517,11 +517,15 @@ def get_workspaces_by_qtr(self, qtr): def _workspaces_from_json(self, response): workspaces = [] - for workspace in response: - json_data = {'academic_qtr_id': workspace['academicQtrKeyId'], - 'workspace_id': workspace['workspaceId'], - 'workspace_name': workspace['workspaceName'], - 'owner_alias': workspace['ownerAlias']} + for ws in response: + json_data = {'academic_qtr_id': ws['academicQtrKeyId'], + 'workspace_id': ws['workspaceId'], + 'workspace_name': ws['workspaceName'], + 'owner_alias': ws['ownerAlias'], + 'source_workspace_id': ws['sourceWorkspaceId'], + 'workspace_status_id': ws['workspaceStatusId'], + 'workspace_status_desc': ws['workspaceStatusDesc'], + } workspaces.append(Workspace(**json_data)) return workspaces diff --git a/uw_adsel/models.py b/uw_adsel/models.py index f902b37..ebdba88 100644 --- a/uw_adsel/models.py +++ b/uw_adsel/models.py @@ -264,6 +264,8 @@ class Workspace(models.Model): workspace_name = models.CharField(max_length=255) owner_alias = models.CharField(max_length=255) source_workspace_id = models.IntegerField() + workspace_status_id = models.IntegerField() + workspace_status_desc = models.CharField(max_length=255) def json_data(self): return { @@ -271,5 +273,7 @@ def json_data(self): "workspaceId": self.workspace_id, "workspaceName": self.workspace_name, "ownerAlias": self.owner_alias, - "sourceWorkspaceId": self.source_workspace_id + "sourceWorkspaceId": self.source_workspace_id, + "workspaceStatusId": self.workspace_status_id, + "workspaceStatusDesc": self.workspace_status_desc } diff --git a/uw_adsel/resources/adsel/file/api/v1/workspaces/20194 b/uw_adsel/resources/adsel/file/api/v1/workspaces/20194 index e2a732e..8bf065b 100644 --- a/uw_adsel/resources/adsel/file/api/v1/workspaces/20194 +++ b/uw_adsel/resources/adsel/file/api/v1/workspaces/20194 @@ -2,54 +2,81 @@ "academicQtrKeyId": 20194, "workspaceId": 1, "workspaceName": "My Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 1, + "workspaceStatusDesc": "Main" }, { "academicQtrKeyId": 20194, "workspaceId": 2, "workspaceName": "Demo Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 3, "workspaceName": "Test Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 4, "workspaceName": "New Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 5, "workspaceName": "Just a test", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 6, "workspaceName": "Trying in new space", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 7, "workspaceName": "Another test workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 8, "workspaceName": "Another Demo Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" }, { "academicQtrKeyId": 20194, "workspaceId": 9, "workspaceName": "Final Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": null, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" } ] \ No newline at end of file diff --git a/uw_adsel/tests/test_adsel.py b/uw_adsel/tests/test_adsel.py index 759d3f3..28a0f2a 100644 --- a/uw_adsel/tests/test_adsel.py +++ b/uw_adsel/tests/test_adsel.py @@ -335,13 +335,19 @@ def test_workspaces_from_json(self): "academicQtrKeyId": 20194, "workspaceId": 1, "workspaceName": "My Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": None, + "workspaceStatusId": 1, + "workspaceStatusDesc": "Main" }, { "academicQtrKeyId": 20194, "workspaceId": 2, "workspaceName": "Demo Workspace", - "ownerAlias": "javerage" + "ownerAlias": "javerage", + "sourceWorkspaceId": None, + "workspaceStatusId": 2, + "workspaceStatusDesc": "Clone" } ] @@ -351,14 +357,23 @@ def test_workspaces_from_json(self): self.assertEqual(workspaces[0].workspace_name, "My Workspace") self.assertEqual(workspaces[0].owner_alias, "javerage") self.assertEqual(workspaces[0].academic_qtr_id, 20194) + self.assertEqual(workspaces[0].workspace_status_id, 1) + self.assertEqual(workspaces[0].workspace_status_desc, "Main") def test_get_worspaces_by_qtr(self): workspaces = AdSel().get_workspaces_by_qtr(20194) self.assertEqual(len(workspaces), 9) + ws_data = workspaces[0].json_data() + self.assertEqual(ws_data['workspaceId'], 1) + self.assertEqual(ws_data['workspaceName'], "My Workspace") + self.assertEqual(ws_data['ownerAlias'], "javerage") + self.assertEqual(ws_data['sourceWorkspaceId'], None) + self.assertEqual(ws_data['workspaceStatusId'], 1) + self.assertEqual(ws_data['workspaceStatusDesc'], "Main") + def test_duplicate_workspace(self): client = AdSel() - print(654654654) workspace = client.duplicate_workspace(16, "Copy of 16", "javerage")