Skip to content

Commit 69f1a32

Browse files
committed
update tests
1 parent 255007c commit 69f1a32

File tree

3 files changed

+68
-5
lines changed

3 files changed

+68
-5
lines changed

packages/common/src/featureServiceHelpers.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,7 @@ export function cacheContingentValues(id: string, fieldInfos: any, itemTemplate:
289289
* @returns An updated instance of the fieldInfos
290290
*/
291291
export function cacheIndexes(layer: any, fieldInfos: any): any {
292+
/* istanbul ignore else */
292293
if (Array.isArray(layer.indexes)) {
293294
const oidField = layer.objectIdField;
294295
const guidField = layer.globalIdField;

packages/common/test/featureServiceHelpers.test.ts

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*/
2020

2121
import {
22+
cacheIndexes,
2223
getFeatureServiceRelatedRecords,
2324
templatize,
2425
deleteViewProps,
@@ -556,15 +557,15 @@ describe("Module `featureServiceHelpers`: utility functions for feature-service
556557
it("should not fail with undefined", () => {
557558
let fieldInfos: any = {};
558559
const layer: any = undefined;
559-
fieldInfos = cacheFieldInfos(layer, fieldInfos, true);
560+
fieldInfos = cacheFieldInfos(layer, fieldInfos, true, false);
560561
expect(layer).toBeUndefined();
561562
expect(fieldInfos).toEqual({});
562563
});
563564

564565
it("should not fail without key properties on the layer", () => {
565566
let fieldInfos: any = {};
566567
const layer: any = {};
567-
fieldInfos = cacheFieldInfos(layer, fieldInfos, false);
568+
fieldInfos = cacheFieldInfos(layer, fieldInfos, false, false);
568569
expect(layer).toEqual({});
569570
expect(fieldInfos).toEqual({});
570571
});
@@ -676,12 +677,56 @@ describe("Module `featureServiceHelpers`: utility functions for feature-service
676677
},
677678
};
678679

679-
fieldInfos = cacheFieldInfos(layer, fieldInfos, false);
680+
fieldInfos = cacheFieldInfos(layer, fieldInfos, false, true);
680681
expect(layer).toEqual(expectedLayer);
681682
expect(fieldInfos).toEqual(expectedFieldInfos);
682683
});
683684
});
684685

686+
describe("cacheIndexes", () => {
687+
it("should cache specific indexes and remove them from the layer", () => {
688+
const layer = {
689+
id: "0",
690+
objectIdField: "objectid",
691+
globalIdField: "globalid",
692+
indexes: [
693+
{
694+
isUnique: true,
695+
fields: "B",
696+
indexType: "",
697+
name: "B_Unique",
698+
},
699+
{
700+
isUnique: true,
701+
fields: "objectid",
702+
indexType: "",
703+
name: "C_objectid",
704+
},
705+
{
706+
isUnique: false,
707+
fields: "A",
708+
indexType: "FullText",
709+
name: "A _ FullText",
710+
},
711+
],
712+
} as any;
713+
714+
const id = "0";
715+
let fieldInfos: any = {};
716+
fieldInfos[id] = {};
717+
fieldInfos = cacheIndexes(layer, fieldInfos);
718+
719+
const expectedLayer = {
720+
id: "0",
721+
objectIdField: "objectid",
722+
globalIdField: "globalid",
723+
};
724+
expect(layer).toEqual(expectedLayer);
725+
expect(fieldInfos["0"].indexes.length).toEqual(2);
726+
expect(fieldInfos["0"].indexes[1].name).toEqual("A_FullText");
727+
});
728+
});
729+
685730
describe("cacheContingentValues", () => {
686731
it("should get contingent values from feature service properties", () => {
687732
const id = "0";
@@ -3607,7 +3652,7 @@ describe("Module `featureServiceHelpers`: utility functions for feature-service
36073652
const layer1 = mockItems.getAGOLLayerOrTable(1, "ROW Permit Comment", "Table", [
36083653
mockItems.createAGOLRelationship(0, 1, "esriRelRoleDestination"),
36093654
]);
3610-
const fieldInfos = cacheFieldInfos(layer1, cacheFieldInfos(layer0, {}, false), false);
3655+
const fieldInfos = cacheFieldInfos(layer1, cacheFieldInfos(layer0, {}, false, false), false, false);
36113656

36123657
Object.keys(fieldInfos).forEach((k) => {
36133658
fieldInfos[k].sourceFields[1].visible = false;

packages/common/test/restHelpers.test.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1930,6 +1930,13 @@ describe("Module `restHelpers`: common REST utility functions shared across pack
19301930
subtypeField: "SubtypeField",
19311931
defaultSubtypeCode: "0",
19321932
subtypes: [{ a: "A" }],
1933+
indexes: [{ name: "index" }],
1934+
},
1935+
1: {
1936+
b: "b",
1937+
type: "B",
1938+
id: 1,
1939+
indexes: [{ name: "index2" }],
19331940
},
19341941
};
19351942

@@ -1940,7 +1947,7 @@ describe("Module `restHelpers`: common REST utility functions shared across pack
19401947
authentication: MOCK_USER_SESSION,
19411948
};
19421949

1943-
const updates: any[] = restHelpers.getLayerUpdates(args, false);
1950+
const updates: any[] = restHelpers.getLayerUpdates(args, true);
19441951

19451952
const _object: any = Object.assign({}, objects[0]);
19461953
delete _object.type;
@@ -1995,6 +2002,7 @@ describe("Module `restHelpers`: common REST utility functions shared across pack
19952002
params: {
19962003
addToDefinition: {
19972004
subtypes: [{ a: "A" }],
2005+
indexes: [{ name: "index" }]
19982006
},
19992007
},
20002008
args,
@@ -2029,6 +2037,15 @@ describe("Module `restHelpers`: common REST utility functions shared across pack
20292037
},
20302038
args,
20312039
},
2040+
{
2041+
url: adminUrl + "1/addToDefinition",
2042+
params: {
2043+
addToDefinition: {
2044+
indexes: [{ name: "index2" }]
2045+
},
2046+
},
2047+
args,
2048+
},
20322049
];
20332050
expect(updates).toEqual(expected);
20342051
});

0 commit comments

Comments
 (0)