// (C) 2007-2019 GoodData Corporation import * as request from "supertest"; import * as HttpStatusCodes from "http-status-codes"; import { metadataObjects } from "../metadataObjects"; import { createEndpoint } from "../../../utils/tests"; import { schema } from "../../../schema/fixtures/dummySchema"; const app = createEndpoint(metadataObjects, schema); it("should return metadata objects", () => { const metadataObjectUris = [ "/gdc/md/mockproject/obj/my_visualization_a", "/gdc/md/mockproject/obj/sd_svw", "/gdc/md/mockproject/obj/sd_fkpi", "/gdc/md/mockproject/obj/sd_fc", "/gdc/md/mockproject/obj/attr.employee.df", "/gdc/md/mockproject/obj/attr.employee", "/gdc/md/mockproject/obj/column", ]; return request(app) .post("/gdc/md/mockproject/objects/get") .set("Content-Type", "application/json") .send({ get: { items: metadataObjectUris, }, }) .expect(HttpStatusCodes.OK) .then(res => { const items = res.body.objects.items; expect(items.length).toEqual(metadataObjectUris.length); items.map((item: any) => { expect(item).not.toBe(null); expect(metadataObjectUris).toContain(item[Object.keys(item)[0]].meta.uri); }); }); }); it("should return error with first non-existing object uri", () => { const metadataObjectUris = [ "/gdc/md/mockproject/obj/my_visualization_a", "/gdc/md/mockproject/obj/non_existing_uri_1", "/gdc/md/mockproject/obj/my_visualization_b", "/gdc/md/mockproject/obj/non_existing_uri_2", ]; return request(app) .post("/gdc/md/mockproject/objects/get") .set("Content-Type", "application/json") .send({ get: { items: metadataObjectUris, }, }) .expect(HttpStatusCodes.OK) .then(res => { const items = res.body.objects.items; expect(items.length).toEqual(2); expect(items[0].visualizationObject.meta.uri).toEqual(metadataObjectUris[0]); expect(items[1].visualizationObject.meta.uri).toEqual(metadataObjectUris[2]); }); });