Farmbot-Web-App/webpack/__test_support__/fake_state/resources.ts

139 lines
3.1 KiB
TypeScript
Raw Normal View History

2017-06-29 12:54:02 -06:00
import { Everything } from "../../interfaces";
import { buildResourceIndex } from "../resource_index_builder";
2017-07-30 16:12:01 -06:00
import {
TaggedFarmEvent, TaggedSequence, TaggedRegimen, TaggedImage,
TaggedTool, TaggedToolSlotPointer, TaggedUser, TaggedWebcamFeed,
2017-10-16 12:58:54 -06:00
TaggedPlantPointer, TaggedGenericPointer, TaggedPeripheral
2017-07-30 16:12:01 -06:00
} from "../../resources/tagged_resources";
import { ExecutableType } from "../../farm_designer/interfaces";
2017-07-27 08:34:52 -06:00
import { fakeResource } from "../fake_resource";
2017-06-29 12:54:02 -06:00
export let resources: Everything["resources"] = buildResourceIndex();
2017-08-21 09:45:13 -06:00
let idCounter = 1;
2017-07-26 14:18:28 -06:00
export function fakeSequence(): TaggedSequence {
2017-10-27 07:31:25 -06:00
return fakeResource("Sequence", {
2017-12-02 08:55:44 -07:00
args: {
version: 4,
label: "WIP",
locals: { kind: "scope_declaration", args: {} },
2017-12-02 08:55:44 -07:00
},
2017-07-27 08:34:52 -06:00
id: 12,
color: "red",
name: "fake",
kind: "sequence",
body: []
});
2017-07-26 14:18:28 -06:00
}
export function fakeRegimen(): TaggedRegimen {
2017-10-27 07:31:25 -06:00
return fakeResource("Regimen", {
2017-07-27 08:34:52 -06:00
name: "Foo",
color: "red",
regimen_items: []
});
2017-07-26 14:18:28 -06:00
}
export function fakeFarmEvent(exe_type: ExecutableType,
exe_id: number): TaggedFarmEvent {
2017-10-27 07:31:25 -06:00
return fakeResource("FarmEvent", {
2017-07-27 08:34:52 -06:00
"id": 21,
"start_time": "2017-05-22T05:00:00.000Z",
"end_time": "2017-05-30T05:00:00.000Z",
"repeat": 1,
"time_unit": "never",
"executable_id": exe_id,
"executable_type": exe_type,
"calendar": []
});
}
export function fakeImage(): TaggedImage {
2017-10-27 07:31:25 -06:00
return fakeResource("Image", {
2017-08-21 09:45:13 -06:00
id: idCounter++,
2017-07-27 08:34:52 -06:00
device_id: 46,
attachment_processed_at: undefined,
updated_at: new Date().toISOString(),
created_at: new Date().toISOString(),
attachment_url: "https://i.redd.it/xz0e2kinm4cz.jpg",
meta: { x: 0, y: 0, z: 0 }
});
}
2017-07-30 16:12:01 -06:00
export function fakeTool(): TaggedTool {
2017-10-27 07:31:25 -06:00
return fakeResource("Tool", {
2017-07-30 16:12:01 -06:00
name: "Foo"
});
}
2017-08-17 12:36:33 -06:00
export function fakeUser(): TaggedUser {
2017-10-27 07:31:25 -06:00
return fakeResource("User", {
2017-08-21 09:45:13 -06:00
id: idCounter++,
2017-08-17 12:36:33 -06:00
device_id: 789,
name: "Fake User 123",
email: "fake@fake.com",
created_at: "---",
updated_at: "---"
});
}
2017-07-30 16:12:01 -06:00
export function fakeToolSlot(): TaggedToolSlotPointer {
2017-10-27 07:31:25 -06:00
return fakeResource("Point", {
2017-07-30 16:12:01 -06:00
name: "ToolSlot 1",
pointer_type: "ToolSlot",
tool_id: 1,
x: 10,
y: 10,
z: 10,
radius: 10,
meta: {},
pullout_direction: 0
2017-07-30 16:12:01 -06:00
});
}
2017-08-21 09:45:13 -06:00
2017-08-24 22:37:24 -06:00
export function fakePlant(): TaggedPlantPointer {
2017-10-27 07:31:25 -06:00
return fakeResource("Point", {
2017-09-14 03:17:24 -06:00
id: idCounter++,
2017-08-24 22:37:24 -06:00
name: "Strawberry Plant 1",
pointer_type: "Plant",
x: 100,
y: 200,
z: 0,
radius: 25,
meta: {},
openfarm_slug: "strawberry"
});
}
export function fakePoint(): TaggedGenericPointer {
2017-10-27 07:31:25 -06:00
return fakeResource("Point", {
id: idCounter++,
name: "Point 1",
pointer_type: "GenericPointer",
x: 200,
y: 400,
z: 0,
radius: 100,
meta: { created_by: "plant-detection" }
});
}
2017-08-21 09:45:13 -06:00
export function fakeWebcamFeed(): TaggedWebcamFeed {
const id = idCounter++;
2017-10-27 07:31:25 -06:00
return fakeResource("WebcamFeed", {
id,
2017-08-21 09:45:13 -06:00
created_at: "---",
updated_at: "---",
url: "http://i.imgur.com/iAOUmEB.jpg",
name: "wcf #" + id
2017-08-21 09:45:13 -06:00
});
}
2017-10-16 12:58:54 -06:00
export function fakePeripheral(): TaggedPeripheral {
2017-10-27 07:31:25 -06:00
return fakeResource("Peripheral", {
2017-10-16 12:58:54 -06:00
id: idCounter++,
2017-10-16 22:22:35 -06:00
label: "Fake Pin",
pin: 1
2017-10-16 12:58:54 -06:00
});
}