@dasch-swiss/dsp-js
Version:
JavaScript library that handles API requests to Knora
437 lines • 28.1 kB
JavaScript
import { of } from "rxjs";
import { AjaxError } from "rxjs/ajax";
import { MockList } from "../../../../test/data/api/v2/mock-list";
import { MockOntology } from "../../../../test/data/api/v2/mock-ontology";
import { MockAjaxCall } from "../../../../test/mockajaxcall";
import { KnoraApiConfig } from "../../../knora-api-config";
import { KnoraApiConnection } from "../../../knora-api-connection";
import { ApiResponseError } from "../../../models/api-response-error";
import { CreateResource } from "../../../models/v2/resources/create/create-resource";
import { DeleteResource } from "../../../models/v2/resources/delete/delete-resource";
import { UpdateResourceMetadata } from "../../../models/v2/resources/update/update-resource-metadata";
import { CreateBooleanValue } from "../../../models/v2/resources/values/create/create-boolean-value";
import { CreateColorValue } from "../../../models/v2/resources/values/create/create-color-value";
import { CreateDateValue } from "../../../models/v2/resources/values/create/create-date-value";
import { CreateDecimalValue } from "../../../models/v2/resources/values/create/create-decimal-value";
import { CreateGeomValue } from "../../../models/v2/resources/values/create/create-geom-value";
import { CreateGeonameValue } from "../../../models/v2/resources/values/create/create-geoname-value";
import { CreateIntValue } from "../../../models/v2/resources/values/create/create-int-value";
import { CreateIntervalValue } from "../../../models/v2/resources/values/create/create-interval-value";
import { CreateLinkValue } from "../../../models/v2/resources/values/create/create-link-value";
import { CreateListValue } from "../../../models/v2/resources/values/create/create-list-value";
import { CreateTextValueAsString, CreateTextValueAsXml } from "../../../models/v2/resources/values/create/create-text-value";
import { CreateTimeValue } from "../../../models/v2/resources/values/create/create-time-value";
import { CreateUriValue } from "../../../models/v2/resources/values/create/create-uri-value";
describe("ResourcesEndpoint", function () {
var config = new KnoraApiConfig("http", "0.0.0.0", 3333, undefined, "", true);
var knoraApiConnection;
var getResourceClassDefinitionFromCacheSpy;
var getListNodeFromCacheSpy;
beforeEach(function () {
jasmine.Ajax.install();
knoraApiConnection = new KnoraApiConnection(config);
getResourceClassDefinitionFromCacheSpy = spyOn(knoraApiConnection.v2.ontologyCache, "getResourceClassDefinition").and.callFake(function (resClassIri) {
return of(MockOntology.mockIResourceClassAndPropertyDefinitions(resClassIri));
});
getListNodeFromCacheSpy = spyOn(knoraApiConnection.v2.listNodeCache, "getNode").and.callFake(function (listNodeIri) {
return of(MockList.mockNode(listNodeIri));
});
});
afterEach(function () {
jasmine.Ajax.uninstall();
});
describe("method getResource", function () {
it("should return a resource", function (done) {
knoraApiConnection.v2.res.getResource("http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw").subscribe(function (response) {
expect(response.id).toEqual("http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw");
expect(response.resourceClassLabel).toEqual("Thing");
expect(getResourceClassDefinitionFromCacheSpy).toHaveBeenCalledTimes(2);
expect(getResourceClassDefinitionFromCacheSpy).toHaveBeenCalledWith("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var resource = require("../../../../test/data/api/v2/resources/testding.json");
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(resource)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/http%3A%2F%2Frdfh.ch%2F0001%2FH6gBWUuJSuuO-CilHV8kQw");
expect(request.method).toEqual("GET");
});
it("should return a deleted resource", function (done) {
knoraApiConnection.v2.res.getResource("http://rdfh.ch/0001/a-thing").subscribe(function (response) {
expect(response.id).toEqual("http://rdfh.ch/0001/a-thing");
expect(response.label).toEqual("Deleted Resource");
expect(response.isDeleted).toEqual(true);
// expect(getResourceClassDefinitionFromCacheSpy).toHaveBeenCalledTimes(2);
// expect(getResourceClassDefinitionFromCacheSpy).toHaveBeenCalledWith("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var resource = require("../../../../test/data/api/v2/resources/deleted-resource-response.json");
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(resource)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/http%3A%2F%2Frdfh.ch%2F0001%2Fa-thing");
expect(request.method).toEqual("GET");
});
it("should unsuccessfully attempt to get a resource", function (done) {
knoraApiConnection.v2.res.getResource("http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw").subscribe(function (response) {
}, function (err) {
expect(err instanceof ApiResponseError).toBeTruthy();
expect(err.status).toEqual(404);
expect(err.error instanceof AjaxError).toBeTruthy();
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockNotFoundResponse());
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/http%3A%2F%2Frdfh.ch%2F0001%2FH6gBWUuJSuuO-CilHV8kQw");
expect(request.method).toEqual("GET");
});
it("should return several resource", function (done) {
knoraApiConnection.v2.res.getResources(["http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw", "http://rdfh.ch/0001/uqmMo72OQ2K2xe7mkIytlg"]).subscribe(function (response) {
expect(response.resources.length).toEqual(2);
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var resource = require("../../../../test/data/api/v2/resources/things.json");
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(resource)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/http%3A%2F%2Frdfh.ch%2F0001%2FH6gBWUuJSuuO-CilHV8kQw/http%3A%2F%2Frdfh.ch%2F0001%2FuqmMo72OQ2K2xe7mkIytlg");
expect(request.method).toEqual("GET");
});
it("should unsuccessfully attempt to several resource", function (done) {
knoraApiConnection.v2.res.getResources(["http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw", "http://rdfh.ch/0001/uqmMo72OQ2K2xe7mkIytlg"]).subscribe(function (response) {
}, function (err) {
expect(err instanceof ApiResponseError).toBeTruthy();
expect(err.status).toEqual(404);
expect(err.error instanceof AjaxError).toBeTruthy();
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var resource = require("../../../../test/data/api/v2/resources/things.json");
request.respondWith(MockAjaxCall.mockNotFoundResponse());
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/http%3A%2F%2Frdfh.ch%2F0001%2FH6gBWUuJSuuO-CilHV8kQw/http%3A%2F%2Frdfh.ch%2F0001%2FuqmMo72OQ2K2xe7mkIytlg");
expect(request.method).toEqual("GET");
});
});
describe("method createResource", function () {
var createResourceResponse = require("../../../../test/data/api/v2/resources/resource-preview.json");
it("should create a resource with values", function (done) {
var createResource = new CreateResource();
createResource.label = "test thing";
createResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
createResource.attachedToProject = "http://rdfh.ch/projects/0001";
var boolVal = new CreateBooleanValue();
boolVal.bool = true;
var colorVal = new CreateColorValue();
colorVal.color = "#ff3333";
var dateVal = new CreateDateValue();
dateVal.calendar = "GREGORIAN";
dateVal.startEra = "CE";
dateVal.startYear = 1489;
dateVal.endEra = "CE";
dateVal.endYear = 1489;
var decVal = new CreateDecimalValue();
decVal.decimal = 1.5;
var geomVal = new CreateGeomValue();
geomVal.geometryString =
"{\"status\":\"active\",\"lineColor\":\"#ff3333\",\"lineWidth\":2,\"points\":[{\"x\":0.08098591549295775,\"y\":0.16741071428571427},{\"x\":0.7394366197183099,\"y\":0.7299107142857143}],\"type\":\"rectangle\",\"original_index\":0}";
var geonameVal = new CreateGeonameValue();
geonameVal.geoname = "2661604";
var intVal = new CreateIntValue();
intVal.int = 5;
intVal.hasPermissions = "CR knora-admin:Creator|V http://rdfh.ch/groups/0001/thing-searcher";
intVal.valueHasComment = "this is the number five";
var intVal2 = new CreateIntValue();
intVal2.int = 6;
var intervalVal = new CreateIntervalValue();
intervalVal.start = 1.2;
intervalVal.end = 3.4;
var listVal = new CreateListValue();
listVal.listNode = "http://rdfh.ch/lists/0001/treeList03";
var linkVal = new CreateLinkValue();
linkVal.linkedResourceIri = "http://rdfh.ch/0001/a-thing";
var textValStandoff = new CreateTextValueAsXml();
textValStandoff.xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<text><p><strong>this is</strong> text</p> with standoff</text>";
textValStandoff.mapping = "http://rdfh.ch/standoff/mappings/StandardMapping";
var textValString = new CreateTextValueAsString();
textValString.text = "this is text without standoff";
var uriVal = new CreateUriValue();
uriVal.uri = "https://www.knora.org";
var timeVal = new CreateTimeValue();
timeVal.time = "2020-01-24T08:47:10.307068Z";
var props = {
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean": [
boolVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasColor": [
colorVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasDate": [
dateVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasDecimal": [
decVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasGeometry": [
geomVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasGeoname": [
geonameVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger": [
intVal, intVal2
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasInterval": [
intervalVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasListItem": [
listVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasOtherThingValue": [
linkVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasRichtext": [
textValStandoff
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasText": [
textValString
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasUri": [
uriVal
],
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasTimeStamp": [
timeVal
]
};
createResource.properties = props;
knoraApiConnection.v2.res.createResource(createResource).subscribe(function (res) {
expect(res.type).toEqual("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(createResourceResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("POST");
var expectedPayload = require("../../../../test/data/api/v2/resources/create-resource-with-values-request-expanded.json");
// TODO: remove this once https://github.com/dasch-swiss/knora-api-js-lib/issues/126 is done
expectedPayload["http://0.0.0.0:3333/ontology/0001/anything/v2#hasDecimal"]["http://api.knora.org/ontology/knora-api/v2#decimalValueAsDecimal"]["@value"] = "1.5";
expect(request.data()).toEqual(expectedPayload);
});
it("should unsuccessfully attempt to create a resource with values", function (done) {
var createResource = new CreateResource();
knoraApiConnection.v2.res.createResource(createResource).subscribe(function (res) {
}, function (err) {
expect(err instanceof ApiResponseError).toBeTruthy();
expect(err.status).toEqual(400);
expect(err.error instanceof AjaxError).toBeTruthy();
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockBadRequestResponse());
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("POST");
});
it("create a resource as a specific user", function (done) {
var createResource = new CreateResource();
createResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
createResource.label = "test thing";
createResource.attachedToProject = "http://rdfh.ch/projects/0001";
createResource.attachedToUser = "http://rdfh.ch/users/9XBCrDV3SRa7kS1WwynB4Q";
var boolVal = new CreateBooleanValue();
boolVal.bool = true;
var props = {
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean": [
boolVal
]
};
createResource.properties = props;
knoraApiConnection.v2.res.createResource(createResource).subscribe(function (res) {
expect(res.type).toEqual("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(createResourceResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("POST");
var expectedPayload = require("../../../../test/data/api/v2/resources/create-resource-as-user-expanded.json");
expect(request.data()).toEqual(expectedPayload);
});
it("create a resource as a specific custom creation date", function (done) {
var createResource = new CreateResource();
createResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
createResource.label = "test thing";
createResource.attachedToProject = "http://rdfh.ch/projects/0001";
createResource.creationDate = "2019-01-09T15:45:54.502951Z";
var boolVal = new CreateBooleanValue();
boolVal.bool = true;
var props = {
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean": [
boolVal
]
};
createResource.properties = props;
knoraApiConnection.v2.res.createResource(createResource).subscribe(function (res) {
expect(res.type).toEqual("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(createResourceResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("POST");
var expectedPayload = require("../../../../test/data/api/v2/resources/create-resource-with-custom-creation-date-expanded.json");
expect(request.data()).toEqual(expectedPayload);
});
it("should attempt to create a resource with a property without values", function () {
var createResource = new CreateResource();
createResource.label = "testding";
createResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
createResource.attachedToProject = "http://rdfh.ch/projects/0001";
var props = {
"http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean": []
};
createResource.properties = props;
expect(function () {
knoraApiConnection.v2.res.createResource(createResource);
}).toThrow(new Error("No values defined for http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean"));
});
});
describe("method updateResourceMetadata", function () {
var updateResResponse = require("../../../../test/data/api/v2/resources/update-resource-metadata-response.json");
var updateResResponseWithLastModificationDate = require("../../../../test/data/api/v2/resources/update-resource-metadata-response-with-last-mod-date.json");
it("should update a resource's label", function (done) {
var updateResourceMetadata = new UpdateResourceMetadata();
updateResourceMetadata.id = "http://rdfh.ch/0001/a-thing";
updateResourceMetadata.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
updateResourceMetadata.label = "test thing with modified label";
updateResourceMetadata.hasPermissions = "CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:ProjectMember";
updateResourceMetadata.newModificationDate = "2022-05-26T17:13:19.143635827Z";
knoraApiConnection.v2.res.updateResourceMetadata(updateResourceMetadata).subscribe(function (res) {
expect(res.label).toEqual("test thing with modified label");
expect(res.resourceIri).toEqual("http://rdfh.ch/0001/a-thing");
expect(res.resourceClassIri).toEqual("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
expect(res.hasPermissions).toEqual("CR knora-admin:Creator|M knora-admin:ProjectMember|V knora-admin:ProjectMember");
// update this timestamp after every release of dsp-api
expect(res.lastModificationDate).toEqual("2024-04-20T09:00:04.451529931Z");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(updateResResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("PUT");
var expectedPayload = require("../../../../test/data/api/v2/resources/update-resource-metadata-request-expanded.json");
// has to be done in order not to have to update this test after every release of dsp-api
expectedPayload["http://api.knora.org/ontology/knora-api/v2#newModificationDate"]["@value"] = "2022-05-26T17:13:19.143635827Z";
expect(request.data()).toEqual(expectedPayload);
});
it("should unsuccessfully attempt to update a resource's label", function (done) {
var updateResourceMetadata = new UpdateResourceMetadata();
updateResourceMetadata.label = "test thing with modified label";
knoraApiConnection.v2.res.updateResourceMetadata(updateResourceMetadata).subscribe(function (res) {
}, function (err) {
expect(err instanceof ApiResponseError).toBeTruthy();
expect(err.status).toEqual(400);
expect(err.error instanceof AjaxError).toBeTruthy();
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockBadRequestResponse());
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("PUT");
});
it("should update a resource's label submitting the last modification date", function (done) {
var updateResourceMetadata = new UpdateResourceMetadata();
updateResourceMetadata.id = "http://rdfh.ch/0001/a-thing";
updateResourceMetadata.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
updateResourceMetadata.label = "test thing with modified label again";
updateResourceMetadata.hasPermissions = "CR knora-admin:ProjectMember|V knora-admin:ProjectMember";
updateResourceMetadata.lastModificationDate = "2021-09-30T16:41:46.980756Z";
// update this timestamp after every release of dsp-api
updateResourceMetadata.newModificationDate = "2024-04-20T09:00:04.958638463Z";
knoraApiConnection.v2.res.updateResourceMetadata(updateResourceMetadata).subscribe(function (res) {
expect(res.resourceIri).toEqual("http://rdfh.ch/0001/a-thing");
expect(res.resourceClassIri).toEqual("http://0.0.0.0:3333/ontology/0001/anything/v2#Thing");
expect(res.label).toEqual("test thing with modified label again");
expect(res.hasPermissions).toEqual("CR knora-admin:ProjectMember|V knora-admin:ProjectMember");
// update this timestamp after every release of dsp-api
expect(res.lastModificationDate).toEqual("2024-04-20T09:00:04.958638463Z");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(updateResResponseWithLastModificationDate)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources");
expect(request.method).toEqual("PUT");
var expectedPayload = require("../../../../test/data/api/v2/resources/update-resource-metadata-request-with-last-mod-date-expanded.json");
expectedPayload["http://api.knora.org/ontology/knora-api/v2#lastModificationDate"]["@value"] = "2021-09-30T16:41:46.980756Z";
// update this timestamp after every release of dsp-api
expectedPayload["http://api.knora.org/ontology/knora-api/v2#newModificationDate"]["@value"] = "2024-04-20T09:00:04.958638463Z";
expect(request.data()).toEqual(expectedPayload);
});
it("should attempt to update a resource's metadata without any required property", function () {
var updateResourceMetadata = new UpdateResourceMetadata();
updateResourceMetadata.id = "http://rdfh.ch/0001/H6gBWUuJSuuO-CilHV8kQw";
updateResourceMetadata.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
expect(function () {
knoraApiConnection.v2.res.updateResourceMetadata(updateResourceMetadata);
}).toThrow(new Error("At least one of the following properties has to be updated: label, hasPermissions, newModificationDate"));
});
});
describe("method deleteResource", function () {
it("should delete a resource", function (done) {
var deleteResource = new DeleteResource();
deleteResource.id = "http://rdfh.ch/0001/a-thing";
deleteResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
deleteResource.deleteComment = "This resource is too boring.";
deleteResource.lastModificationDate = "2020-10-22T23:52:02.920220Z";
knoraApiConnection.v2.res.deleteResource(deleteResource).subscribe(function (res) {
expect(res.result).toEqual("Resource marked as deleted");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var deleteResResponse = require("../../../../test/data/api/v2/resources/delete-resource-response.json");
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(deleteResResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/delete");
expect(request.method).toEqual("POST");
var expectedPayload = require("../../../../test/data/api/v2/resources/delete-resource-request-expanded.json");
expectedPayload["http://api.knora.org/ontology/knora-api/v2#lastModificationDate"]["@value"] = "2020-10-22T23:52:02.920220Z";
expect(request.data()).toEqual(expectedPayload);
});
it("should unsuccessfully attempt to delete a resource", function (done) {
var deleteResource = new DeleteResource();
knoraApiConnection.v2.res.deleteResource(deleteResource).subscribe(function (res) {
}, function (err) {
expect(err instanceof ApiResponseError).toBeTruthy();
expect(err.status).toEqual(400);
expect(err.error instanceof AjaxError).toBeTruthy();
done();
});
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith(MockAjaxCall.mockBadRequestResponse());
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/delete");
expect(request.method).toEqual("POST");
});
});
describe("method eraseResource", function () {
it("should erase a resource", function (done) {
var deleteResource = new DeleteResource();
deleteResource.id = "http://rdfh.ch/0001/thing-with-history";
deleteResource.type = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing";
// comment is not necessary
deleteResource.deleteComment = undefined;
deleteResource.lastModificationDate = "2019-02-13T09:05:10Z";
knoraApiConnection.v2.res.eraseResource(deleteResource).subscribe(function (res) {
// TODO: the following line would be correct, but we
// do not have test data for erase response and
// this is why we use the delete resource response
// expect(res.result).toEqual("Resource erased");
expect(res.result).toEqual("Resource marked as deleted");
done();
});
var request = jasmine.Ajax.requests.mostRecent();
var eraseResResponse = require("../../../../test/data/api/v2/resources/erase-resource-response.json");
request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(eraseResResponse)));
expect(request.url).toBe("http://0.0.0.0:3333/v2/resources/erase");
expect(request.method).toEqual("POST");
var expectedPayload = require("../../../../test/data/api/v2/resources/erase-resource-request-expanded.json");
// TODO: remove this bad hack once test data is stable
expectedPayload["http://api.knora.org/ontology/knora-api/v2#lastModificationDate"]["@value"] = "2019-02-13T09:05:10Z";
expect(request.data()).toEqual(expectedPayload);
});
});
});
//# sourceMappingURL=resources-endpoint.spec.js.map