UNPKG

component-dbs-core

Version:

DTO objects shared among device backend

81 lines 4.37 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const ts_mockito_1 = require("ts-mockito"); const devices_1 = require("../devices"); const siteService_1 = require("./siteService"); const siteDb_1 = require("./siteDb"); const common_services_1 = require("../common_services"); describe('site service test suite', () => { const mockDeviceService = ts_mockito_1.mock(devices_1.DeviceService); const mockEnvService = ts_mockito_1.mock(common_services_1.EnvironmentService); const mockDynamodbService = ts_mockito_1.mock(common_services_1.DynamodbService); const mockSiteDb = ts_mockito_1.mock(siteDb_1.SiteDb); let siteService; beforeEach(() => { siteService = new siteService_1.SiteService(ts_mockito_1.instance(mockEnvService), ts_mockito_1.instance(mockDynamodbService), ts_mockito_1.instance(mockDeviceService)); siteService.siteDb = ts_mockito_1.instance(mockSiteDb); }); it('should be able to return empty result if no sites found on db', () => __awaiter(void 0, void 0, void 0, function* () { ts_mockito_1.when(mockDeviceService.getEntityUuidByAccessToken).thenReturn(() => Promise.resolve('')); ts_mockito_1.when(mockSiteDb.getSites).thenReturn(() => Promise.resolve({ sites: [] })); const output = yield siteService.getSites('', 10); expect(output.sites.length).toBe(0); })); it('should be able to return sites when call getSites', () => __awaiter(void 0, void 0, void 0, function* () { ts_mockito_1.when(mockDeviceService.getEntityUuidByAccessToken).thenReturn(() => Promise.resolve('')); const site = { id: 'siteuuid', name: 'name', address: 'address', state: 'state', devices: [], }; ts_mockito_1.when(mockSiteDb.getSites).thenReturn(() => Promise.resolve({ sites: [site], })); const output = yield siteService.getSites('', 10); expect(output.sites.length).toBe(1); expect(output.sites[0]).toEqual({ id: site.id, name: site.name, address: site.address, state: site.state, devices: [], }); })); it('should be able to return individual site', () => __awaiter(void 0, void 0, void 0, function* () { ts_mockito_1.when(mockDeviceService.getEntityUuidByAccessToken).thenReturn(() => Promise.resolve('')); const site = { id: 'siteuuid', name: 'name', address: 'address', state: 'state', devices: [], }; ts_mockito_1.when(mockSiteDb.getSite).thenReturn(() => Promise.resolve(site)); const realSite = yield siteService.getSite('', 'siteuuid'); expect(realSite).toBe(site); })); it('should be able to create site', () => __awaiter(void 0, void 0, void 0, function* () { ts_mockito_1.when(mockDeviceService.getEntityUuidByAccessToken).thenReturn(() => Promise.resolve('')); ts_mockito_1.when(mockSiteDb.createSite).thenReturn(() => Promise.resolve('id')); const ret = yield siteService.createSite('', { name: '' }); expect(ret).toBeTruthy(); })); it('should return faluse if fail to create a site', () => __awaiter(void 0, void 0, void 0, function* () { ts_mockito_1.when(mockDeviceService.getEntityUuidByAccessToken).thenReturn(() => Promise.resolve('')); ts_mockito_1.when(mockSiteDb.createSite).thenReturn(() => Promise.reject()); const ret = yield siteService.createSite('', { name: '' }); expect(ret).toBeFalsy(); })); }); //# sourceMappingURL=siteService.spec.js.map