diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/AppPageNavTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/AppPageNavTest.java index 9d62a96..4ad9eee 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/AppPageNavTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/AppPageNavTest.java @@ -46,7 +46,9 @@ public class AppPageNavTest extends QBaseSeleniumTest .withRouteToString("/widget/QuickSightChartRenderer", """ {"url": "http://www.google.com"}""") .withRouteToFile("/data/person/count", "data/person/count.json") - .withRouteToFile("/data/city/count", "data/city/count.json"); + .withRouteToFile("/data/city/count", "data/city/count.json") + .withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json") + .withRouteToFile("/qqq/v1/table/city/count", "qqq/v1/table/city/count.json"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/BulkEditTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/BulkEditTest.java index f52deb5..a2ad6e8 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/BulkEditTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/BulkEditTest.java @@ -63,6 +63,8 @@ public class BulkEditTest extends QBaseSeleniumTest qSeleniumJavalin.withRouteToFile("/data/person/count", "data/person/count.json"); qSeleniumJavalin.withRouteToFile("/data/person/query", "data/person/index.json"); qSeleniumJavalin.withRouteToFile("/data/person/variants", "data/person/variants.json"); + qSeleniumJavalin.withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json"); + qSeleniumJavalin.withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json"); qSeleniumJavalin.withRouteToString("/processes/person.bulkEdit/74a03a7d-2f53-4784-9911-3a21f7646c43/records", "[]"); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedReportTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedReportTest.java index 4d493c3..f31e891 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedReportTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/SavedReportTest.java @@ -51,12 +51,15 @@ public class SavedReportTest extends QBaseSeleniumTest super.addJavalinRoutes(qSeleniumJavalin); qSeleniumJavalin .withRouteToFile("/metaData/table/savedReport", "metaData/table/savedReport.json") + .withRouteToFile("/qqq/v1/metaData/table/savedReport", "qqq/v1/metaData/table/savedReport.json") .withRouteToFile("/widget/reportSetupWidget", "widget/reportSetupWidget.json") .withRouteToFile("/widget/pivotTableSetupWidget", "widget/pivotTableSetupWidget.json") .withRouteToFile("/data/savedReport/possibleValues/tableName", "data/savedReport/possibleValues/tableName.json") .withRouteToFile("/data/person/count", "data/person/count.json") .withRouteToFile("/data/person/query", "data/person/index.json") + .withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json") + .withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json") ; } @@ -93,8 +96,8 @@ public class SavedReportTest extends QBaseSeleniumTest //////////////////////////////////////////////////// qSeleniumJavalin.beginCapture(); qSeleniumLib.waitForSelectorContaining("button", "Edit Filters and Columns").click(); - qSeleniumJavalin.waitForCapturedPath("/data/person/count"); - qSeleniumJavalin.waitForCapturedPath("/data/person/query"); + qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/count"); + qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/query"); qSeleniumJavalin.endCapture(); QueryScreenLib queryScreenLib = new QueryScreenLib(qSeleniumLib); diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlAdvancedModeTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlAdvancedModeTest.java index 5cbeea6..eab4e60 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlAdvancedModeTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlAdvancedModeTest.java @@ -53,6 +53,8 @@ public class QueryScreenFilterInUrlAdvancedModeTest extends QBaseSeleniumTest qSeleniumJavalin .withRouteToFile("/data/person/count", "data/person/count.json") .withRouteToFile("/data/person/query", "data/person/index.json") + .withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json") + .withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json") .withRouteToFile("/data/person/possibleValues/homeCityId", "data/person/possibleValues/homeCityId.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlBasicModeTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlBasicModeTest.java index acd6ed2..a0e8781 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlBasicModeTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenFilterInUrlBasicModeTest.java @@ -53,6 +53,8 @@ public class QueryScreenFilterInUrlBasicModeTest extends QBaseSeleniumTest qSeleniumJavalin .withRouteToFile("/data/person/count", "data/person/count.json") .withRouteToFile("/data/person/query", "data/person/index.json") + .withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json") + .withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json") .withRouteToFile("/data/person/possibleValues/homeCityId", "data/person/possibleValues/homeCityId.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenTest.java index 0cb7ce4..9c8d986 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/QueryScreenTest.java @@ -48,6 +48,8 @@ public class QueryScreenTest extends QBaseSeleniumTest qSeleniumJavalin .withRouteToFile("/data/person/count", "data/person/count.json") .withRouteToFile("/data/person/query", "data/person/index.json") + .withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json") + .withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json") .withRouteToFile("/data/person/variants", "data/person/variants.json") .withRouteToFile("/data/person/possibleValues/homeCityId", "data/person/possibleValues/homeCityId.json") .withRouteToFile("/processes/querySavedView/init", "processes/querySavedView/init.json"); @@ -79,8 +81,8 @@ public class QueryScreenTest extends QBaseSeleniumTest /////////////////////////////////////////////////////////////////// String idEquals1FilterSubstring = """ {"fieldName":"id","operator":"EQUALS","values":["1"]}"""; - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/count", idEquals1FilterSubstring); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", idEquals1FilterSubstring); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/count", idEquals1FilterSubstring); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", idEquals1FilterSubstring); qSeleniumJavalin.endCapture(); /////////////////////////////////////// @@ -99,8 +101,8 @@ public class QueryScreenTest extends QBaseSeleniumTest //////////////////////////////////////////////////////////////////// // assert that query & count both no longer have the filter value // //////////////////////////////////////////////////////////////////// - CapturedContext capturedCount = qSeleniumJavalin.waitForCapturedPath("/data/person/count"); - CapturedContext capturedQuery = qSeleniumJavalin.waitForCapturedPath("/data/person/query"); + CapturedContext capturedCount = qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/count"); + CapturedContext capturedQuery = qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/query"); assertThat(capturedCount).extracting("body").asString().doesNotContain(idEquals1FilterSubstring); assertThat(capturedQuery).extracting("body").asString().doesNotContain(idEquals1FilterSubstring); qSeleniumJavalin.endCapture(); @@ -132,9 +134,9 @@ public class QueryScreenTest extends QBaseSeleniumTest String expectedFilterContents2 = """ "booleanOperator":"OR\""""; - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectedFilterContents0); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectedFilterContents1); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectedFilterContents2); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectedFilterContents0); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectedFilterContents1); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectedFilterContents2); qSeleniumJavalin.endCapture(); } @@ -208,7 +210,7 @@ public class QueryScreenTest extends QBaseSeleniumTest qSeleniumJavalin.beginCapture(); queryScreenLib.setBasicBooleanFilter(fieldLabel, operatorLabel); queryScreenLib.waitForBasicFilterButtonMatchingRegex(expectButtonStringRegex); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectFilterJsonContains); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectFilterJsonContains); qSeleniumJavalin.endCapture(); } @@ -222,7 +224,7 @@ public class QueryScreenTest extends QBaseSeleniumTest qSeleniumJavalin.beginCapture(); queryScreenLib.setBasicFilterPossibleValues(fieldLabel, operatorLabel, values); queryScreenLib.waitForBasicFilterButtonMatchingRegex(expectButtonStringRegex); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectFilterJsonContains); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectFilterJsonContains); qSeleniumJavalin.endCapture(); } @@ -268,7 +270,7 @@ public class QueryScreenTest extends QBaseSeleniumTest queryScreenLib.addAdvancedQueryFilterInput(0, fieldLabel, operatorLabel, value, null); qSeleniumLib.clickBackdrop(); queryScreenLib.waitForAdvancedQueryStringMatchingRegex(expectQueryStringRegex); - qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/data/person/query", expectFilterJsonContains); + qSeleniumJavalin.waitForCapturedPathWithBodyContaining("/qqq/v1/table/person/query", expectFilterJsonContains); qSeleniumJavalin.endCapture(); queryScreenLib.clickAdvancedFilterClearIcon(); } diff --git a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/SavedViewsTest.java b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/SavedViewsTest.java index 17c37fb..d60213d 100755 --- a/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/SavedViewsTest.java +++ b/src/test/java/com/kingsrook/qqq/frontend/materialdashboard/selenium/tests/query/SavedViewsTest.java @@ -58,6 +58,8 @@ public class SavedViewsTest extends QBaseSeleniumTest super.addJavalinRoutes(qSeleniumJavalin); qSeleniumJavalin.withRouteToFile("/data/person/count", "data/person/count.json"); qSeleniumJavalin.withRouteToFile("/data/person/query", "data/person/index.json"); + qSeleniumJavalin.withRouteToFile("/qqq/v1/table/person/count", "qqq/v1/table/person/count.json"); + qSeleniumJavalin.withRouteToFile("/qqq/v1/table/person/query", "qqq/v1/table/person/index.json"); qSeleniumJavalin.withRouteToFile("/data/person/*", "data/person/1701.json"); } @@ -135,7 +137,7 @@ public class SavedViewsTest extends QBaseSeleniumTest qSeleniumLib.waitForCondition("Current URL should have filter id", () -> driver.getCurrentUrl().endsWith("/person/savedView/2")); queryScreenLib.assertSavedViewNameOnScreen("Some People"); qSeleniumLib.waitForSelectorContaining("DIV", "Unsaved Changes"); - CapturedContext capturedContext = qSeleniumJavalin.waitForCapturedPath("/data/person/query"); + CapturedContext capturedContext = qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/query"); assertTrue(capturedContext.getBody().contains("Kelkhoff")); qSeleniumJavalin.endCapture(); @@ -162,7 +164,7 @@ public class SavedViewsTest extends QBaseSeleniumTest qSeleniumLib.waitForSelectorContaining("A", "Person").click(); qSeleniumLib.waitForCondition("Current URL should not have filter id", () -> !driver.getCurrentUrl().endsWith("/person/savedView/2")); qSeleniumLib.waitForSelectorContaining("BUTTON", "Save View As"); - capturedContext = qSeleniumJavalin.waitForCapturedPath("/data/person/query"); + capturedContext = qSeleniumJavalin.waitForCapturedPath("/qqq/v1/table/person/query"); assertTrue(capturedContext.getBody().matches("(?s).*id.*LESS_THAN.*10.*")); qSeleniumJavalin.endCapture(); } diff --git a/src/test/resources/fixtures/qqq/v1/metaData/person.json b/src/test/resources/fixtures/qqq/v1/metaData/person.json new file mode 100644 index 0000000..3a3e00c --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/metaData/person.json @@ -0,0 +1,168 @@ +{ + "table": { + "name": "person", + "label": "Person", + "isHidden": false, + "primaryKeyField": "id", + "iconName": "person", + "deletePermission": true, + "editPermission": true, + "insertPermission": true, + "readPermission": true, + "fields": { + "firstName": { + "name": "firstName", + "label": "First Name", + "type": "STRING", + "isRequired": true, + "isEditable": true, + "displayFormat": "%s" + }, + "lastName": { + "name": "lastName", + "label": "Last Name", + "type": "STRING", + "isRequired": true, + "isEditable": true, + "displayFormat": "%s" + }, + "annualSalary": { + "name": "annualSalary", + "label": "Annual Salary", + "type": "DECIMAL", + "isRequired": false, + "isEditable": true, + "displayFormat": "$%,.2f" + }, + "modifyDate": { + "name": "modifyDate", + "label": "Modify Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + }, + "daysWorked": { + "name": "daysWorked", + "label": "Days Worked", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "displayFormat": "%,d" + }, + "id": { + "name": "id", + "label": "Id", + "type": "INTEGER", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + }, + "birthDate": { + "name": "birthDate", + "label": "Birth Date", + "type": "DATE", + "isRequired": false, + "isEditable": true, + "displayFormat": "%s" + }, + "isEmployed": { + "name": "isEmployed", + "label": "Is Employed", + "type": "BOOLEAN", + "isRequired": false, + "isEditable": true, + "displayFormat": "%s" + }, + "homeCityId": { + "name": "homeCityId", + "label": "Home City", + "type": "INTEGER", + "possibleValueSourceName": "city", + "isRequired": false, + "isEditable": true, + "displayFormat": "%s" + }, + "email": { + "name": "email", + "label": "Email", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "displayFormat": "%s" + }, + "createDate": { + "name": "createDate", + "label": "Create Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + } + }, + "sections": [ + { + "name": "identity", + "label": "Identity", + "tier": "T1", + "fieldNames": [ + "id", + "firstName", + "lastName" + ], + "icon": { + "name": "badge" + }, + "isHidden": false + }, + { + "name": "basicInfo", + "label": "Basic Info", + "tier": "T2", + "fieldNames": [ + "email", + "birthDate" + ], + "icon": { + "name": "dataset" + }, + "isHidden": false + }, + { + "name": "employmentInfo", + "label": "Employment Info", + "tier": "T2", + "fieldNames": [ + "isEmployed", + "annualSalary", + "daysWorked" + ], + "icon": { + "name": "work" + }, + "isHidden": false + }, + { + "name": "dates", + "label": "Dates", + "tier": "T3", + "fieldNames": [ + "createDate", + "modifyDate" + ], + "icon": { + "name": "calendar_month" + }, + "isHidden": false + } + ], + "capabilities": [ + "TABLE_COUNT", + "TABLE_GET", + "TABLE_QUERY", + "TABLE_DELETE", + "TABLE_INSERT", + "TABLE_UPDATE" + ] + } +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/metaData/savedReport.json b/src/test/resources/fixtures/qqq/v1/metaData/savedReport.json new file mode 100644 index 0000000..71e256b --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/metaData/savedReport.json @@ -0,0 +1,218 @@ +{ + "table": { + "name": "savedReport", + "label": "Saved Report", + "isHidden": false, + "primaryKeyField": "id", + "iconName": "article", + "fields": { + "queryFilterJson": { + "name": "queryFilterJson", + "label": "Query Filter", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "columnsJson": { + "name": "columnsJson", + "label": "Columns", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "inputFieldsJson": { + "name": "inputFieldsJson", + "label": "Input Fields", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "pivotTableJson": { + "name": "pivotTableJson", + "label": "Pivot Table", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "modifyDate": { + "name": "modifyDate", + "label": "Modify Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + }, + "label": { + "name": "label", + "label": "Report Name", + "type": "STRING", + "isRequired": true, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "id": { + "name": "id", + "label": "Id", + "type": "INTEGER", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + }, + "userId": { + "name": "userId", + "label": "User Id", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "tableName": { + "name": "tableName", + "label": "Table", + "type": "STRING", + "isRequired": true, + "isEditable": true, + "isHeavy": false, + "possibleValueSourceName": "tables", + "displayFormat": "%s" + }, + "createDate": { + "name": "createDate", + "label": "Create Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + } + }, + "sections": [ + { + "name": "identity", + "label": "Identity", + "tier": "T1", + "fieldNames": [ + "id", + "label", + "tableName" + ], + "icon": { + "name": "badge" + }, + "isHidden": false + }, + { + "name": "filtersAndColumns", + "label": "Filters and Columns", + "tier": "T2", + "widgetName": "reportSetupWidget", + "icon": { + "name": "table_chart" + }, + "isHidden": false + }, + { + "name": "pivotTable", + "label": "Pivot Table", + "tier": "T2", + "widgetName": "pivotTableSetupWidget", + "icon": { + "name": "pivot_table_chart" + }, + "isHidden": false + }, + { + "name": "data", + "label": "Data", + "tier": "T2", + "fieldNames": [ + "queryFilterJson", + "columnsJson", + "pivotTableJson" + ], + "icon": { + "name": "text_snippet" + }, + "isHidden": true + }, + { + "name": "hidden", + "label": "Hidden", + "tier": "T2", + "fieldNames": [ + "inputFieldsJson", + "userId" + ], + "icon": { + "name": "text_snippet" + }, + "isHidden": true + }, + { + "name": "dates", + "label": "Dates", + "tier": "T3", + "fieldNames": [ + "createDate", + "modifyDate" + ], + "icon": { + "name": "calendar_month" + }, + "isHidden": false + } + ], + "exposedJoins": [], + "supplementalTableMetaData": { + "materialDashboard": { + "fieldRules": [ + { + "trigger": "ON_CHANGE", + "sourceField": "tableName", + "action": "CLEAR_TARGET_FIELD", + "targetField": "queryFilterJson" + }, + { + "trigger": "ON_CHANGE", + "sourceField": "tableName", + "action": "CLEAR_TARGET_FIELD", + "targetField": "columnsJson" + }, + { + "trigger": "ON_CHANGE", + "sourceField": "tableName", + "action": "CLEAR_TARGET_FIELD", + "targetField": "pivotTableJson" + } + ], + "type": "materialDashboard" + } + }, + "capabilities": [ + "TABLE_COUNT", + "TABLE_GET", + "TABLE_QUERY", + "QUERY_STATS", + "TABLE_UPDATE", + "TABLE_INSERT", + "TABLE_DELETE" + ], + "readPermission": true, + "insertPermission": true, + "editPermission": true, + "deletePermission": true, + "usesVariants": false + } +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/metaData/script.json b/src/test/resources/fixtures/qqq/v1/metaData/script.json new file mode 100644 index 0000000..e4b664f --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/metaData/script.json @@ -0,0 +1,139 @@ +{ + "table": { + "name": "script", + "label": "Script", + "isHidden": false, + "primaryKeyField": "id", + "iconName": "data_object", + "fields": { + "modifyDate": { + "name": "modifyDate", + "label": "Modify Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + }, + "name": { + "name": "name", + "label": "Name", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "displayFormat": "%s" + }, + "currentScriptRevisionId": { + "name": "currentScriptRevisionId", + "label": "Current Script Revision", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "possibleValueSourceName": "scriptRevision", + "displayFormat": "%s", + "adornments": [ + { + "type": "LINK", + "values": { + "toRecordFromTable": "scriptRevision" + } + } + ] + }, + "id": { + "name": "id", + "label": "Id", + "type": "INTEGER", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + }, + "tableName": { + "name": "tableName", + "label": "Table Name", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "possibleValueSourceName": "tables", + "displayFormat": "%s" + }, + "createDate": { + "name": "createDate", + "label": "Create Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "displayFormat": "%s" + }, + "scriptTypeId": { + "name": "scriptTypeId", + "label": "Script Type", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "possibleValueSourceName": "scriptType", + "displayFormat": "%s", + "adornments": [ + { + "type": "LINK", + "values": { + "toRecordFromTable": "scriptType" + } + } + ] + } + }, + "sections": [ + { + "name": "identity", + "label": "Identity", + "tier": "T1", + "fieldNames": [ + "id", + "name", + "scriptTypeId", + "tableName", + "currentScriptRevisionId" + ], + "icon": { + "name": "badge" + }, + "isHidden": false + }, + { + "name": "contents", + "label": "Contents", + "tier": "T2", + "widgetName": "scriptViewer", + "icon": { + "name": "data_object" + }, + "isHidden": false + }, + { + "name": "dates", + "label": "Dates", + "tier": "T3", + "fieldNames": [ + "createDate", + "modifyDate" + ], + "icon": { + "name": "calendar_month" + }, + "isHidden": false + } + ], + "capabilities": [ + "TABLE_COUNT", + "TABLE_GET", + "TABLE_QUERY", + "TABLE_INSERT", + "TABLE_DELETE", + "TABLE_UPDATE" + ], + "readPermission": true, + "insertPermission": true, + "editPermission": true, + "deletePermission": true + } +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/metaData/scriptRevision.json b/src/test/resources/fixtures/qqq/v1/metaData/scriptRevision.json new file mode 100644 index 0000000..78440da --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/metaData/scriptRevision.json @@ -0,0 +1,152 @@ +{ + "table": { + "name": "scriptRevision", + "label": "Script Revision", + "isHidden": false, + "primaryKeyField": "id", + "iconName": "history_edu", + "fields": { + "scriptId": { + "name": "scriptId", + "label": "Script", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "possibleValueSourceName": "script", + "displayFormat": "%s", + "adornments": [ + { + "type": "SIZE", + "values": { + "width": "large" + } + }, + { + "type": "LINK", + "values": { + "toRecordFromTable": "script" + } + } + ] + }, + "apiName": { + "name": "apiName", + "label": "API Name", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "possibleValueSourceName": "apiName", + "displayFormat": "%s" + }, + "sequenceNo": { + "name": "sequenceNo", + "label": "Sequence No", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "apiVersion": { + "name": "apiVersion", + "label": "API Version", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "possibleValueSourceName": "apiVersion", + "displayFormat": "%s" + }, + "commitMessage": { + "name": "commitMessage", + "label": "Commit Message", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "modifyDate": { + "name": "modifyDate", + "label": "Modify Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + }, + "author": { + "name": "author", + "label": "Author", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + "id": { + "name": "id", + "label": "Id", + "type": "INTEGER", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + }, + "createDate": { + "name": "createDate", + "label": "Create Date", + "type": "DATE_TIME", + "isRequired": false, + "isEditable": false, + "isHeavy": false, + "displayFormat": "%s" + } + }, + "sections": [ + { + "name": "identity", + "label": "Identity", + "tier": "T1", + "fieldNames": [ + "id", + "scriptId", + "sequenceNo" + ], + "icon": { + "name": "badge" + }, + "isHidden": false + }, + { + "name": "dates", + "label": "Dates", + "tier": "T3", + "fieldNames": [ + "createDate", + "modifyDate" + ], + "icon": { + "name": "calendar_month" + }, + "isHidden": false + } + ], + "exposedJoins": [], + "capabilities": [ + "TABLE_COUNT", + "TABLE_GET", + "TABLE_QUERY", + "TABLE_INSERT", + "TABLE_UPDATE", + "QUERY_STATS" + ], + "readPermission": true, + "insertPermission": true, + "editPermission": true, + "deletePermission": true, + "usesVariants": false + } +} diff --git a/src/test/resources/fixtures/qqq/v1/table/audit/query-empty.json b/src/test/resources/fixtures/qqq/v1/table/audit/query-empty.json new file mode 100644 index 0000000..efde9b0 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/audit/query-empty.json @@ -0,0 +1,3 @@ +{ + "records": [] +} diff --git a/src/test/resources/fixtures/qqq/v1/table/audit/query.json b/src/test/resources/fixtures/qqq/v1/table/audit/query.json new file mode 100644 index 0000000..f40206f --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/audit/query.json @@ -0,0 +1,245 @@ +{ + "records": [ + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 623577, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z", + "clientId": 107, + "auditDetail.id": 278660, + "auditDetail.auditId": 623577, + "auditDetail.message": "Set First Name to John", + "auditDetail.fieldName": "firstName", + "auditDetail.newValue": "John" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "623577", + "recordId": "1191682", + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 623577, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z", + "clientId": 107, + "auditDetail.id": 278661, + "auditDetail.auditId": 623577, + "auditDetail.message": "Removed Doe from Last Name", + "auditDetail.fieldName": "lastName", + "auditDetail.oldValue": "Doe" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "623577", + "recordId": "1191682", + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 623577, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z", + "clientId": 107, + "auditDetail.id": 278662, + "auditDetail.auditId": 623577, + "auditDetail.message": "Set Client to ACME", + "auditDetail.fieldName": "clientId", + "auditDetail.oldValue": "BetaMax", + "auditDetail.newValue": "ACME" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "623577", + "recordId": "1191682", + "message": "Record was Inserted", + "timestamp": "2023-02-17T14:11:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 624804, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Edited", + "timestamp": "2023-02-17T14:13:16Z", + "clientId": 107, + "auditDetail.id": 278990, + "auditDetail.auditId": 624804, + "auditDetail.message": "Set SLA Expected Service Days to 2", + "auditDetail.fieldName": "slaExpectedServiceDays", + "auditDetail.newValue": "2" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "624804", + "recordId": "1191682", + "message": "Record was Edited", + "timestamp": "2023-02-17T14:13:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 624804, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Edited", + "timestamp": "2023-02-17T14:13:16Z", + "clientId": 107, + "auditDetail.id": 278991, + "auditDetail.auditId": 624804, + "auditDetail.message": "Set SLA Status to \"Pending\"", + "auditDetail.fieldName": "slaStatusId", + "auditDetail.newValue": "Pending" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "624804", + "recordId": "1191682", + "message": "Record was Edited", + "timestamp": "2023-02-17T14:13:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 624809, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Audit message here", + "timestamp": "2023-02-17T14:13:16Z", + "clientId": 107, + "auditDetail.id": 279000, + "auditDetail.auditId": 624809, + "auditDetail.message": "This is a detail message" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "624809", + "recordId": "1191682", + "message": "Audit message here", + "timestamp": "2023-02-17T14:13:16Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 737694, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Edited", + "timestamp": "2023-02-17T17:22:08Z", + "clientId": 107, + "auditDetail.id": 299222, + "auditDetail.auditId": 737694, + "auditDetail.message": "Set Estimated Delivery Date Time to 2023-02-18 07:00:00 PM EST", + "auditDetail.fieldName": "estimatedDeliveryDateTime", + "auditDetail.newValue": "2023-02-18 07:00:00 PM EST" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "737694", + "recordId": "1191682", + "message": "Record was Edited", + "timestamp": "2023-02-17T17:22:08Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 737694, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Record was Edited", + "timestamp": "2023-02-17T17:22:08Z", + "clientId": 107, + "auditDetail.id": 299223, + "auditDetail.auditId": 737694, + "auditDetail.message": "Changed Parcel Tracking Status from \"Unknown\" to \"Pre Transit\"", + "auditDetail.fieldName": "parcelTrackingStatusId", + "auditDetail.oldValue": "Unknown", + "auditDetail.newValue": "Pre Transit" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "737694", + "recordId": "1191682", + "message": "Record was Edited", + "timestamp": "2023-02-17T17:22:08Z" + } + }, + { + "tableName": "audit", + "recordLabel": "Parcel 1191682", + "values": { + "id": 737695, + "auditTableId": 4, + "auditUserId": 2, + "recordId": 1191682, + "message": "Updating Parcel based on updated tracking details", + "timestamp": "2023-02-17T17:22:09Z", + "clientId": 107, + "auditDetail.id": 299224, + "auditDetail.auditId": 737695, + "auditDetail.message": "Set Parcel Tracking Status to Pre Transit based on most recent tracking update: Shipment information sent to FedEx" + }, + "displayValues": { + "auditTableId": "Parcel", + "auditUserId": "QQQ User", + "clientId": "ACME", + "id": "737695", + "recordId": "1191682", + "message": "Updating Parcel based on updated tracking details", + "timestamp": "2023-02-17T17:22:09Z" + } + } + ] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/city/count.json b/src/test/resources/fixtures/qqq/v1/table/city/count.json new file mode 100644 index 0000000..92fba2e --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/city/count.json @@ -0,0 +1,3 @@ +{ + "count": 101406 +} diff --git a/src/test/resources/fixtures/qqq/v1/table/person/1701.json b/src/test/resources/fixtures/qqq/v1/table/person/1701.json new file mode 100644 index 0000000..54ceece --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/1701.json @@ -0,0 +1,16 @@ +{ + "tableName": "person", + "recordLabel": "John Doe", + "values": { + "name": "John Doe", + "id": 1710, + "createDate": "2022-08-30T00:31:00Z", + "modifyDate": "2022-08-30T00:31:00Z" + }, + "displayValues": { + "name": "John Doe", + "id": 1710, + "createDate": "2022-08-30T00:31:00Z", + "modifyDate": "2022-08-30T00:31:00Z" + } +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/person/count.json b/src/test/resources/fixtures/qqq/v1/table/person/count.json new file mode 100644 index 0000000..92fba2e --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/count.json @@ -0,0 +1,3 @@ +{ + "count": 101406 +} diff --git a/src/test/resources/fixtures/qqq/v1/table/person/developer.json b/src/test/resources/fixtures/qqq/v1/table/person/developer.json new file mode 100644 index 0000000..3190cfe --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/developer.json @@ -0,0 +1,276 @@ +{ + "record": { + "tableName": "client", + "recordLabel": "John Doe", + "values": { + "name": "John Doe", + "id": 120, + "deposcoOrderOptimizationCoolingScriptId": 2, + "createDate": "2022-08-30T00:31:00Z", + "modifyDate": "2023-02-19T01:28:30Z", + "isFulfillmentCenter": false, + "infoplusLobId": 18698, + "deposcoBusinessUnitName": "TRIFECTA", + "deposcoBusinessUnitId": 77, + "optimizationConfigId": 1, + "nfCode": "Client 224" + }, + "displayValues": { + "optimizationConfigId": "Client: 120", + "name": "John Doe", + "id": "120", + "deposcoOrderOptimizationCoolingScriptId": "2", + "createDate": "2022-08-30T00:31:00Z", + "modifyDate": "2023-02-19T01:28:30Z", + "isFulfillmentCenter": "No", + "infoplusLobId": "18698", + "deposcoBusinessUnitName": "TRIFECTA", + "deposcoBusinessUnitId": "77", + "nfCode": "Client 224" + } + }, + "associatedScripts": [ + { + "testInputFields": [ + { + "name": "selectedTimeInTransitDays", + "label": "Selected Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "standardTimeInTransitDays", + "label": "Standard Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "scriptType": { + "tableName": "scriptType", + "values": { + "name": "Deposco Order Optimization Cooling", + "id": 2, + "createDate": "2022-10-31T19:06:50Z", + "modifyDate": "2022-10-31T19:06:50Z" + } + }, + "scriptRevisions": [ + { + "tableName": "scriptRevision", + "values": { + "id": 1, + "contents": "1;", + "createDate": "2023-02-19T01:28:30Z", + "modifyDate": "2023-02-19T01:28:30Z", + "scriptId": 2, + "sequenceNo": 1, + "commitMessage": "Initial version", + "author": "Darin Kelkhoff" + } + } + ], + "testOutputFields": [ + { + "name": "sku", + "label": "Sku", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "quantityPerCarton", + "label": "Quantity Per Carton", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "useClientProvidedCoolingSolution", + "label": "Use Client Provided Cooling Solution", + "type": "BOOLEAN", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "reason", + "label": "Reason", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "script": { + "tableName": "script", + "values": { + "name": "John Doe - Deposco Order Optimization Cooling", + "id": 2, + "scriptTypeId": 2, + "createDate": "2023-02-19T01:28:30Z", + "modifyDate": "2023-02-19T01:28:30Z", + "currentScriptRevisionId": 1 + } + }, + "associatedScript": { + "fieldName": "deposcoOrderOptimizationCoolingScriptId", + "scriptTypeId": 2, + "scriptTester": { + "name": "com.coldtrack.live.processes.deposco.RunDeposcoOrderOptimizationCoolingScript", + "codeType": "JAVA", + "codeUsage": "SCRIPT_TESTER" + } + } + }, + { + "testInputFields": [ + { + "name": "selectedTimeInTransitDays", + "label": "Selected Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "standardTimeInTransitDays", + "label": "Standard Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "runtimeWeekday", + "label": "Runtime Weekday", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "scriptType": { + "tableName": "scriptType", + "values": { + "name": "Deposco Order Optimization Batch Name", + "id": 1, + "createDate": "2022-10-31T19:06:50Z", + "modifyDate": "2022-10-31T19:06:50Z" + } + }, + "testOutputFields": [ + { + "name": "batchName", + "label": "Batch Name", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "reason", + "label": "Reason", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "associatedScript": { + "fieldName": "deposcoOrderOptimizationBatchNameScriptId", + "scriptTypeId": 1, + "scriptTester": { + "name": "com.coldtrack.live.processes.deposco.RunDeposcoOrderOptimizationBatchNameScript", + "codeType": "JAVA", + "codeUsage": "SCRIPT_TESTER" + } + } + }, + { + "testInputFields": [ + { + "name": "selectedTimeInTransitDays", + "label": "Selected Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "standardTimeInTransitDays", + "label": "Standard Time In Transit Days", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "runtimeWeekday", + "label": "Runtime Weekday", + "type": "INTEGER", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "scriptType": { + "tableName": "scriptType", + "values": { + "name": "Deposco Order Optimization Batch Name", + "id": 1, + "createDate": "2022-10-31T19:06:50Z", + "modifyDate": "2022-10-31T19:06:50Z" + } + }, + "testOutputFields": [ + { + "name": "batchName", + "label": "Batch Name", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + }, + { + "name": "reason", + "label": "Reason", + "type": "STRING", + "isRequired": false, + "isEditable": true, + "isHeavy": false, + "displayFormat": "%s" + } + ], + "associatedScript": { + "fieldName": "deposcoOrderOptimizationCartonizationScriptId", + "scriptTypeId": 1, + "scriptTester": { + "name": "com.coldtrack.live.processes.deposco.RunDeposcoOrderOptimizationBatchNameScript", + "codeType": "JAVA", + "codeUsage": "SCRIPT_TESTER" + } + } + } + ] +} diff --git a/src/test/resources/fixtures/qqq/v1/table/person/index.json b/src/test/resources/fixtures/qqq/v1/table/person/index.json new file mode 100644 index 0000000..2b3c655 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/index.json @@ -0,0 +1,64 @@ +{ + "records": [ + { + "tableName": "person", + "values": { + "id": 1, + "createDate": "2022-07-23T00:17:00", + "modifyDate": "2022-07-22T19:17:06", + "firstName": "Jonny", + "lastName": "Doe", + "birthDate": "1980-05-31", + "email": "jdoe@kingsrook.com" + } + }, + { + "tableName": "person", + "values": { + "id": 2, + "createDate": "2022-07-23T00:17:00", + "modifyDate": "2022-07-23T00:17:00", + "firstName": "James", + "lastName": "Maes", + "birthDate": "1980-05-15", + "email": "jmaes@mmltholdings.com" + } + }, + { + "tableName": "person", + "values": { + "id": 3, + "createDate": "2022-07-23T00:17:00", + "modifyDate": "2022-07-23T00:17:00", + "firstName": "Tim", + "lastName": "Chamberlain", + "birthDate": "1976-05-28", + "email": "tchamberlain@mmltholdings.com" + } + }, + { + "tableName": "person", + "values": { + "id": 4, + "createDate": "2022-07-23T00:17:00", + "modifyDate": "2022-07-23T00:17:00", + "firstName": "Tyler", + "lastName": "Samples", + "birthDate": "1986-05-28", + "email": "tsamples@mmltholdings.com" + } + }, + { + "tableName": "person", + "values": { + "id": 5, + "createDate": "2022-07-23T00:17:00", + "modifyDate": "2022-07-23T00:17:00", + "firstName": "Garret", + "lastName": "Richardson", + "birthDate": "1981-01-01", + "email": "grichardson@mmltholdings.com" + } + } + ] +} diff --git a/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId.json b/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId.json new file mode 100644 index 0000000..380b357 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId.json @@ -0,0 +1,12 @@ +{ + "options": [ + { + "id": 1, + "label": "St. Louis" + }, + { + "id": 2, + "label": "Chesterfield" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId=1.json b/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId=1.json new file mode 100644 index 0000000..8fc7cd6 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/possibleValues/homeCityId=1.json @@ -0,0 +1,8 @@ +{ + "options": [ + { + "id": 1, + "label": "St. Louis" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/person/variants.json b/src/test/resources/fixtures/qqq/v1/table/person/variants.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/person/variants.json @@ -0,0 +1 @@ +[] diff --git a/src/test/resources/fixtures/qqq/v1/table/savedReport/possibleValues/tableName.json b/src/test/resources/fixtures/qqq/v1/table/savedReport/possibleValues/tableName.json new file mode 100644 index 0000000..2f642c6 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/savedReport/possibleValues/tableName.json @@ -0,0 +1,16 @@ +{ + "options": [ + { + "id": "person", + "label": "Person" + }, + { + "id": "city", + "label": "City" + }, + { + "id": "savedReport", + "label": "Saved Report" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/script/1.json b/src/test/resources/fixtures/qqq/v1/table/script/1.json new file mode 100644 index 0000000..76c461f --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/script/1.json @@ -0,0 +1,22 @@ +{ + "tableName": "script", + "recordLabel": "Hello, Script", + "values": { + "name": "Hello, Script", + "id": 1, + "currentScriptRevisionId": 100, + "tableName": "client", + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z", + "scriptTypeId": 1 + }, + "displayValues": { + "tableName": "Client", + "scriptTypeId": "Record Script", + "name": "Hello, Script", + "currentScriptRevisionId": 100, + "id": "1", + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z" + } +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/scriptLog/query.json b/src/test/resources/fixtures/qqq/v1/table/scriptLog/query.json new file mode 100644 index 0000000..13ee911 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/scriptLog/query.json @@ -0,0 +1,3 @@ +{ + "records": [] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/scriptRevision/100.json b/src/test/resources/fixtures/qqq/v1/table/scriptRevision/100.json new file mode 100644 index 0000000..955ab34 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/scriptRevision/100.json @@ -0,0 +1,36 @@ +{ + "tableName": "scriptRevision", + "recordLabel": "Hello, Script Revision", + "values": { + "id": "100", + "name": "Hello, Script Revision", + "sequenceNo": "22", + "commitMessage": "Initial checkin", + "author": "Jon Programmer", + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z" + }, + "displayValues": { + "id": "1", + "name": "Hello, Script Revision", + "scriptId": "1", + "sequenceNo": "22", + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z" + }, + "associatedRecords": { + "files": [ + { + "tableName": "scriptRevisionFile", + "values": { + "id": 101, + "fileName": "Script.js", + "contents": "var hello;", + "scriptRevisionId": 100, + "createDate": "2023-06-23T21:59:57Z", + "modifyDate": "2023-06-23T21:59:57Z" + } + } + ] + } +} diff --git a/src/test/resources/fixtures/qqq/v1/table/scriptRevision/query.json b/src/test/resources/fixtures/qqq/v1/table/scriptRevision/query.json new file mode 100644 index 0000000..e5ef09a --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/scriptRevision/query.json @@ -0,0 +1,32 @@ +{ + "records": [ + { + "tableName": "scriptRevision", + "values": { + "contents": "var hello;", + "id": 100, + "sequenceNo": 2, + "commitMessage": "2nd commit", + "author": "Jon Programmer", + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z" + }, + "displayValues": { + } + }, + { + "tableName": "scriptRevision", + "values": { + "contents": "var goodBye;", + "id": 99, + "sequenceNo": 1, + "commitMessage": "Initial checkin", + "author": "Jane Programmer", + "createDate": "2023-02-17T00:47:51Z", + "modifyDate": "2023-02-17T00:47:51Z" + }, + "displayValues": { + } + } + ] +} \ No newline at end of file diff --git a/src/test/resources/fixtures/qqq/v1/table/scriptType/1.json b/src/test/resources/fixtures/qqq/v1/table/scriptType/1.json new file mode 100644 index 0000000..b1bdbc6 --- /dev/null +++ b/src/test/resources/fixtures/qqq/v1/table/scriptType/1.json @@ -0,0 +1,13 @@ +{ + "tableName": "scriptType", + "recordLabel": "Record Script", + "values": { + "name": "Record Script", + "id": 1, + "createDate": "2023-02-18T00:47:51Z", + "modifyDate": "2023-02-18T00:47:51Z", + "fileMode": 1 + }, + "displayValues": { + } +} \ No newline at end of file