From 8f035f7308fb5d0c9c3140d4c522f4adc6632730 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Tue, 23 Jan 2024 16:01:08 -0600 Subject: [PATCH] tests: add additional assertions to test --- .../Tests_OnspringClient.py | 144 ++++++++++-------- src/OnspringApiSdk/OnspringClient.py | 29 +++- 2 files changed, 111 insertions(+), 62 deletions(-) diff --git a/src/OnspringApiSDK.Tests/Tests_OnspringClient.py b/src/OnspringApiSDK.Tests/Tests_OnspringClient.py index 0330aed..f7496a9 100644 --- a/src/OnspringApiSDK.Tests/Tests_OnspringClient.py +++ b/src/OnspringApiSDK.Tests/Tests_OnspringClient.py @@ -18,64 +18,64 @@ class TestOnspringClient(object): "count": 2, "items": [ { - "multiplicity": "SingleSelect", - "listId": 638, - "values": [ - { - "id": "2c1af5b1-0f90-4378-b9a5-8b7e22f2bc84", - "name": "list_value_1", - "sortOrder": 1, - "numericValue": 1, - "color": "#008e8e" - }, - { - "id": "0421e502-7f76-480a-9311-363aca3560bc", - "name": "list_value_2", - "sortOrder": 2, - "numericValue": 2, - "color": "#a186be" - }, - { - "id": "285b91c1-5800-47cb-a030-8cf7cdd7cdf1", - "name": "updated_list_value_1676840661138}", - "sortOrder": 3, - "numericValue": 1, - "color": "#000000" - } - ], - "id": 4801, - "appId": 130, - "name": "single_select_list_field", - "type": "List", - "status": "Enabled", - "isRequired": True, - "isUnique": False + "multiplicity": "SingleSelect", + "listId": 638, + "values": [ + { + "id": "2c1af5b1-0f90-4378-b9a5-8b7e22f2bc84", + "name": "list_value_1", + "sortOrder": 1, + "numericValue": 1, + "color": "#008e8e" + }, + { + "id": "0421e502-7f76-480a-9311-363aca3560bc", + "name": "list_value_2", + "sortOrder": 2, + "numericValue": 2, + "color": "#a186be" + }, + { + "id": "285b91c1-5800-47cb-a030-8cf7cdd7cdf1", + "name": "updated_list_value_1676840661138}", + "sortOrder": 3, + "numericValue": 1, + "color": "#000000" + } + ], + "id": 4801, + "appId": 130, + "name": "single_select_list_field", + "type": "List", + "status": "Enabled", + "isRequired": True, + "isUnique": False }, { - "outputType": "ListValue", - "values": [ - { - "id": "b235afb2-b786-4c87-bce9-fbd700e246c1", - "name": "list_value_1", - "sortOrder": 1, - "numericValue": 1, - "color": "#6dcff6" - }, - { - "id": "5cd7cd55-d6a6-40e0-a560-8aa407c13210", - "name": "list_value_2", - "sortOrder": 2, - "numericValue": 2, - "color": "#8e468e" - } - ], - "id": 4815, - "appId": 130, - "name": "list_formula_field", - "type": "Formula", - "status": "Enabled", - "isRequired": False, - "isUnique": False + "outputType": "ListValue", + "values": [ + { + "id": "b235afb2-b786-4c87-bce9-fbd700e246c1", + "name": "list_value_1", + "sortOrder": 1, + "numericValue": 1, + "color": "#6dcff6" + }, + { + "id": "5cd7cd55-d6a6-40e0-a560-8aa407c13210", + "name": "list_value_2", + "sortOrder": 2, + "numericValue": 2, + "color": "#8e468e" + } + ], + "id": 4815, + "appId": 130, + "name": "list_formula_field", + "type": "Formula", + "status": "Enabled", + "isRequired": False, + "isUnique": False } ] } @@ -84,8 +84,32 @@ class TestOnspringClient(object): response = self.client.GetFieldsByIds([4801, 4815]) - assert response.data.fields[0].id == 4801, "Field id should be 4801" - assert response.data.fields[1].id == 4815, "Field id should be 4815" + field_4801 = response.data.fields[0] + field_4815 = response.data.fields[1] + + assert field_4801.id == 4801, "Field id should be 4801" + assert field_4801.listId == 638, "Field list id should be 638" + assert field_4801.multiplicity == "SingleSelect", "Field multiplicity should be SingleSelect" + assert field_4801.values is not None, "Field list values should not be None" - for field in response.data.fields: - assert field.values is not None, "Field list values should not be None" \ No newline at end of file + field_4801_value = field_4801.values[0] + + assert field_4801_value.id == "2c1af5b1-0f90-4378-b9a5-8b7e22f2bc84", "Field value id should be 2c1af5b1-0f90-4378-b9a5-8b7e22f2bc84" + assert field_4801_value.name == "list_value_1", "Field value name should be list_value_1" + assert field_4801_value.sortOrder == 1, "Field value sort order should be 1" + assert field_4801_value.numericValue == 1, "Field value numeric value should be 1" + assert field_4801_value.color == "#008e8e", "Field value color should be #008e8e" + + assert field_4815.id == 4815, "Field id should be 4815" + assert field_4815.listId is None, "Field list id should be None" + assert field_4815.multiplicity is None, "Field multiplicity should be None" + assert field_4815.values is not None, "Field list values should not be None" + assert field_4815.outputType == 'ListValue', 'Field output type should be ListValue' + + field_4815_value = field_4815.values[0] + + assert field_4815_value.id == "b235afb2-b786-4c87-bce9-fbd700e246c1", "Field value id should be b235afb2-b786-4c87-bce9-fbd700e246c1" + assert field_4815_value.name == "list_value_1", "Field value name should be list_value_1" + assert field_4815_value.sortOrder == 1, "Field value sort order should be 1" + assert field_4815_value.numericValue == 1, "Field value numeric value should be 1" + assert field_4815_value.color == "#6dcff6", "Field value color should be #6dcff6" \ No newline at end of file diff --git a/src/OnspringApiSdk/OnspringClient.py b/src/OnspringApiSdk/OnspringClient.py index 5efb6a8..bcb086e 100644 --- a/src/OnspringApiSdk/OnspringClient.py +++ b/src/OnspringApiSdk/OnspringClient.py @@ -1,10 +1,12 @@ -import requests import json import re +import requests + from OnspringApiSdk.Endpoints import * from OnspringApiSdk.Models import * + class OnspringClient: """ A class that represents a client that can interact with the api. @@ -388,6 +390,25 @@ class OnspringClient: for item in responseJson.get('items'): item = dict(item) + + values = item.get('values') + + if values != None: + + listValues = [] + + for value in values: + + value = dict(value) + + value = ListValue( + value.get('id'), + value.get('name'), + value.get('sortOrder'), + value.get('numericValue'), + value.get('color')) + + listValues.append(value) field = Field( item.get('id'), @@ -396,7 +417,11 @@ class OnspringClient: item.get('type'), item.get('status'), item.get('isRequired'), - item.get('isUnique')) + item.get('isUnique'), + item.get("listId"), + listValues, + item.get('multiplicity'), + item.get('outputType')) fields.append(field)