Farmbot-Web-App/webpack/__tests__/resource_index_builder_test.ts

41 lines
1.1 KiB
TypeScript
Raw Normal View History

import {
buildResourceIndex,
FAKE_RESOURCES
} from "../__test_support__/resource_index_builder";
2018-08-01 07:03:35 -06:00
import { TaggedFarmEvent, SpecialStatus } from "farmbot";
const STUB_RESOURCE: TaggedFarmEvent = {
"uuid": "FarmEvent.0.435",
2017-10-27 07:31:25 -06:00
"kind": "FarmEvent",
"specialStatus": SpecialStatus.SAVED,
"body": {
"id": 217,
"start_time": "2017-07-21T00:30:00.000Z",
"end_time": "2017-07-21T00:31:00.000Z",
"repeat": 1,
"time_unit": "never",
"executable_id": 78,
"executable_type": "Regimen"
}
};
2017-07-21 10:36:12 -06:00
test("buildResourceIndex - base case", () => {
2017-08-28 05:49:13 -06:00
const result1 = buildResourceIndex(FAKE_RESOURCES);
const { index } = result1;
const OK_LENGTH = FAKE_RESOURCES.length;
expect(index.all.length).toBe(OK_LENGTH);
expect(Object.keys(index.references).length).toBe(OK_LENGTH);
2017-07-21 10:36:12 -06:00
});
2017-07-21 10:36:12 -06:00
test("buildResourceIndex - add a FarmEvent", () => {
2017-08-28 05:49:13 -06:00
const db = buildResourceIndex([STUB_RESOURCE]);
const fe = db.index.references[db.index.byKind.FarmEvent[0]];
expect(fe).toBeTruthy();
2017-10-27 07:31:25 -06:00
if (fe && fe.kind === "FarmEvent") {
2017-08-28 05:49:13 -06:00
const { body } = fe;
expect(body).toEqual(STUB_RESOURCE.body);
} else {
fail("fe was falsy or not a farm event.");
}
});