let assert = require('chai').assert; import { FilterParams, PagingParams } from "pip-services3-commons-nodex"; import { CurrentPostStateV1 } from "../../src/version1/CurrentPostStateV1" import { ICurrentPostStatesClientV1 } from "../../src/version1/ICurrentPostStatesClientV1"; let STATE1: CurrentPostStateV1 = { id: "1", patrol_id: "0001", updated: new Date(), long: 50, lat: 40, cam_pitch: 5, cam_yaw: 10, video_pitch: 15, video_yaw: 20, status: null, last_cmd: null }; let STATE2: CurrentPostStateV1 = { id: "2", patrol_id: "0002", updated: new Date(), long: 70, lat: 30, cam_pitch: 25, cam_yaw: 30, video_pitch: 35, video_yaw: 40, status: null, last_cmd: null }; export class CurrentPostStatesFixture { private _client: ICurrentPostStatesClientV1; public constructor(client: ICurrentPostStatesClientV1) { assert.isNotNull(client); this._client = client; } private async testCreateStates(): Promise { // Set the first state var state = await this._client.setState(null, STATE1); assert.isNotNull(state); assert.equal(STATE1.id, state.id); assert.equal(STATE1.patrol_id, state.patrol_id); assert.equal(STATE1.status, state.status); assert.equal(STATE1.long, state.long); assert.equal(STATE1.lat, state.lat); assert.equal(STATE1.cam_pitch, state.cam_pitch); assert.equal(STATE1.cam_yaw, state.cam_yaw); assert.equal(STATE1.video_pitch, state.video_pitch); assert.equal(STATE1.video_yaw, state.video_yaw); // Set the second state state = await this._client.setState(null, STATE2); assert.isNotNull(state); assert.equal(STATE2.id, state.id); assert.equal(STATE2.patrol_id, state.patrol_id); assert.equal(STATE2.status, state.status); assert.equal(STATE2.long, state.long); assert.equal(STATE2.lat, state.lat); assert.equal(STATE2.cam_pitch, state.cam_pitch); assert.equal(STATE2.cam_yaw, state.cam_yaw); assert.equal(STATE2.video_pitch, state.video_pitch); assert.equal(STATE2.video_yaw, state.video_yaw); } public async testCrudOperations(): Promise { let state1: CurrentPostStateV1; await this.testCreateStates(); // Get all states let page = await this._client.getStates(null, null, null); assert.isNotNull(page); assert.equal(2, page.data.length); state1 = page.data[0]; // Update the state state1.status = "updated status"; let state = await this._client.setState(null, state1); assert.isNotNull(state1); assert.equal(state1.id, state.id); assert.equal("updated status", state1.status); // Delete the state await this._client.deleteStatesByFilter(null, FilterParams.fromTuples("id", state1.id)); // Try to get deleted fire state = await this._client.getStateById(null, state1.id); assert.isNull(state); let states = await this._client.setStates(null, [STATE1, STATE2]); state = states[0]; assert.isNotNull(state); assert.equal(STATE1.id, state.id); state = states[1]; assert.isNotNull(state); assert.equal(STATE2.id, state.id); } }