UNPKG

@dasch-swiss/dsp-js

Version:

JavaScript library that handles API requests to Knora

406 lines 31.3 kB
import { MockAjaxCall } from "../../../../test/mockajaxcall"; import { KnoraApiConfig } from "../../../knora-api-config"; import { KnoraApiConnection } from "../../../knora-api-connection"; import { CreateAdministrativePermission } from "../../../models/admin/create-administrative-permission"; import { CreateDefaultObjectAccessPermission } from "../../../models/admin/create-default-object-access-permission"; import { CreatePermission } from "../../../models/admin/create-permission"; import { Permission } from "../../../models/admin/permission"; import { UpdateAdministrativePermission } from "../../../models/admin/update-administrative-permission"; import { UpdateAdministrativePermissionGroup } from "../../../models/admin/update-administrative-permission-group"; import { UpdateDefaultObjectAccessPermission } from "../../../models/admin/update-default-object-access-permission"; import { UpdateDefaultObjectAccessPermissionGroup } from "../../../models/admin/update-default-object-access-permission-group"; import { UpdateDefaultObjectAccessPermissionProperty } from "../../../models/admin/update-default-object-access-permission-property"; import { UpdateDefaultObjectAccessPermissionResourceClass } from "../../../models/admin/update-default-object-access-permission-resource-class"; import { UpdatePermission } from "../../../models/admin/update-permission"; describe("PermissionsEndpoint", function () { var config = new KnoraApiConfig("http", "localhost", 3333, undefined, undefined, true); var knoraApiConnection = new KnoraApiConnection(config); beforeEach(function () { jasmine.Ajax.install(); }); afterEach(function () { jasmine.Ajax.uninstall(); }); describe("Method getProjectPermissions", function () { it("should return all permissions", function (done) { var projectIri = "http://rdfh.ch/projects/00FF"; knoraApiConnection.admin.permissionsEndpoint.getProjectPermissions(projectIri).subscribe(function (response) { expect(response.body.permissions.length).toEqual(6); expect(response.body.permissions[0].id).toEqual("http://rdfh.ch/permissions/00FF/PNTn7ZvsS_OabbexCxr_Eg"); expect(response.body.permissions[0].permissionType).toEqual("http://www.knora.org/ontology/knora-admin#DefaultObjectAccessPermission"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var projectPermissionsResponse = require("../../../../test/data/api/admin/permissions/get-permissions-for-project-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(projectPermissionsResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fprojects%2F00FF"); expect(request.method).toEqual("GET"); }); }); describe("Method getAdministrativePermissions", function () { it("should return all administrative permissions", function (done) { var projectIri = "http://rdfh.ch/projects/00FF"; knoraApiConnection.admin.permissionsEndpoint.getAdministrativePermissions(projectIri).subscribe(function (response) { expect(response.body.administrative_permissions.length).toEqual(3); expect(response.body.administrative_permissions[0].hasPermissions.length).toEqual(1); var permissions = new Permission(); permissions.name = "ProjectResourceCreateAllPermission"; expect(response.body.administrative_permissions[0].hasPermissions[0]).toEqual(permissions); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionsResponse = require("../../../../test/data/api/admin/permissions/get-administrative-permissions-for-project-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionsResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/ap/http%3A%2F%2Frdfh.ch%2Fprojects%2F00FF"); expect(request.method).toEqual("GET"); }); }); describe("Method getAdministrativePermission", function () { it("should return an administrative permission", function (done) { var projectIri = "http://rdfh.ch/projects/00FF"; var groupIri = "http://www.knora.org/ontology/knora-admin#ProjectMember"; knoraApiConnection.admin.permissionsEndpoint.getAdministrativePermission(projectIri, groupIri).subscribe(function (response) { expect(response.body.administrative_permission.hasPermissions.length).toEqual(1); var permissions = new Permission(); permissions.name = "ProjectResourceCreateAllPermission"; expect(response.body.administrative_permission.hasPermissions[0]).toEqual(permissions); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionResponse = require("../../../../test/data/api/admin/permissions/get-administrative-permission-for-project-group-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/ap/http%3A%2F%2Frdfh.ch%2Fprojects%2F00FF/http%3A%2F%2Fwww.knora.org%2Fontology%2Fknora-admin%23ProjectMember"); expect(request.method).toEqual("GET"); }); }); describe("Method createAdministrativePermission", function () { it("should create an administrative permission", function (done) { var permission = new CreatePermission(); permission.name = "ProjectAdminGroupAllPermission"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var projectIri = "http://rdfh.ch/projects/0001"; var adminPermission = new CreateAdministrativePermission(); adminPermission.forGroup = groupIri; adminPermission.forProject = projectIri; adminPermission.hasPermissions = [permission]; knoraApiConnection.admin.permissionsEndpoint.createAdministrativePermission(adminPermission).subscribe(function (response) { // TODO: remove this bad hack once test data is stable expect(response.body.administrative_permission.id).toBeDefined(); //.toEqual("http://rdfh.ch/permissions/0001/cYBzgOcHSR6kNocj5osOJA"); expect(response.body.administrative_permission.forGroup).toEqual("http://rdfh.ch/groups/0001/thing-searcher"); expect(response.body.administrative_permission.forProject).toEqual("http://rdfh.ch/projects/0001"); expect(response.body.administrative_permission.hasPermissions.length).toEqual(1); expect(response.body.administrative_permission.hasPermissions[0].name).toEqual("ProjectAdminGroupAllPermission"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionCreationResponse = require("../../../../test/data/api/admin/permissions/create-administrative-permission-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionCreationResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/ap"); expect(request.method).toEqual("POST"); var payload = require("../../../../test/data/api/admin/permissions/create-administrative-permission-request.json"); expect(request.data()).toEqual(payload); }); it("should attempt to create an administrative permission without a project property", function () { var permission = new CreatePermission(); permission.name = "ProjectAdminGroupAllPermission"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var adminPermission = new CreateAdministrativePermission(); adminPermission.forGroup = groupIri; adminPermission.hasPermissions = [permission]; expect(function () { return knoraApiConnection.admin.permissionsEndpoint.createAdministrativePermission(adminPermission); }).toThrow(new Error("Group and project are required when creating a new administrative permission.")); }); it("should attempt to create an administrative permission without a group property", function () { var permission = new CreatePermission(); permission.name = "ProjectAdminGroupAllPermission"; var projectIri = "http://rdfh.ch/projects/0001"; var adminPermission = new CreateAdministrativePermission(); adminPermission.forProject = projectIri; adminPermission.hasPermissions = [permission]; expect(function () { return knoraApiConnection.admin.permissionsEndpoint.createAdministrativePermission(adminPermission); }).toThrow(new Error("Group and project are required when creating a new administrative permission.")); }); it("should create an administrative permission with a custom Iri", function (done) { var permission = new CreatePermission(); permission.name = "ProjectAdminGroupAllPermission"; permission.permissionCode = null; permission.additionalInformation = null; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var projectIri = "http://rdfh.ch/projects/0001"; var adminPermission = new CreateAdministrativePermission(); adminPermission.forGroup = groupIri; adminPermission.forProject = projectIri; adminPermission.id = "http://rdfh.ch/permissions/0001/u0PRnDl3kgcbrehZnRlEfA"; adminPermission.hasPermissions = [permission]; knoraApiConnection.admin.permissionsEndpoint.createAdministrativePermission(adminPermission).subscribe(function (response) { expect(response.body.administrative_permission.id).toEqual("http://rdfh.ch/permissions/0001/u0PRnDl3kgcbrehZnRlEfA"); expect(response.body.administrative_permission.forGroup).toEqual("http://rdfh.ch/groups/0001/thing-searcher"); expect(response.body.administrative_permission.forProject).toEqual("http://rdfh.ch/projects/0001"); expect(response.body.administrative_permission.hasPermissions.length).toEqual(1); expect(response.body.administrative_permission.hasPermissions[0].name).toEqual("ProjectAdminGroupAllPermission"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionCreationResponse = require("../../../../test/data/api/admin/permissions/create-administrative-permission-withCustomIRI-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionCreationResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/ap"); expect(request.method).toEqual("POST"); var payload = require("../../../../test/data/api/admin/permissions/create-administrative-permission-withCustomIRI-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateAdministrativePermission", function () { it("should update an administrative permission", function (done) { var updateAdminPerm = new UpdateAdministrativePermission(); var perm = new UpdatePermission(); perm.additionalInformation = null; perm.name = "ProjectAdminGroupAllPermission"; perm.permissionCode = null; updateAdminPerm.hasPermissions = [perm]; knoraApiConnection.admin.permissionsEndpoint.updateAdministrativePermission("http://rdfh.ch/permissions/00FF/buxHAlz8SHuu0FuiLN_tKQ", updateAdminPerm).subscribe(function (res) { expect(res.body.administrative_permission.id).toEqual("http://rdfh.ch/permissions/00FF/buxHAlz8SHuu0FuiLN_tKQ"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-administrative-permission-hasPermissions-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FbuxHAlz8SHuu0FuiLN_tKQ/hasPermissions"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-administrative-permission-hasPermissions-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateAdministrativePermissionGroup", function () { it("should update an administrative permission's group", function (done) { var updateAdminPermGroup = new UpdateAdministrativePermissionGroup(); updateAdminPermGroup.forGroup = "http://rdfh.ch/groups/00FF/images-reviewer"; knoraApiConnection.admin.permissionsEndpoint.updateAdministrativePermissionGroup("http://rdfh.ch/permissions/00FF/buxHAlz8SHuu0FuiLN_tKQ", updateAdminPermGroup).subscribe(function (res) { expect(res.body.administrative_permission.id).toEqual("http://rdfh.ch/permissions/00FF/buxHAlz8SHuu0FuiLN_tKQ"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-administrative-permission-forGroup-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FbuxHAlz8SHuu0FuiLN_tKQ/group"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-administrative-permission-forGroup-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method getDefaultObjectAccessPermissions", function () { it("should return all default project access permissions", function (done) { var projectIri = "http://rdfh.ch/projects/00FF"; knoraApiConnection.admin.permissionsEndpoint.getDefaultObjectAccessPermissions(projectIri).subscribe(function (response) { expect(response.body.defaultObjectAccessPermissions.length).toBe(3); expect(response.body.defaultObjectAccessPermissions[0].forProject).toBe("http://rdfh.ch/projects/00FF"); expect(response.body.defaultObjectAccessPermissions[0].forGroup).toBe("http://www.knora.org/ontology/knora-admin#KnownUser"); expect(response.body.defaultObjectAccessPermissions[0].id).toBe("http://rdfh.ch/permissions/00FF/9XTMKHm_ScmwtgDXbF6Onw"); expect(response.body.defaultObjectAccessPermissions[0].hasPermissions.length).toBe(3); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var defaultObjectAccessPermissionsResponse = require("../../../../test/data/api/admin/permissions/get-defaultObjectAccess-permissions-for-project-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(defaultObjectAccessPermissionsResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/doap/http%3A%2F%2Frdfh.ch%2Fprojects%2F00FF"); expect(request.method).toEqual("GET"); }); }); describe("Method createDefaultObjectAccessPermission", function () { it("should create a default object access permission", function (done) { var permission = new CreatePermission(); permission.name = "D"; permission.permissionCode = 7; permission.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var projectIri = "http://rdfh.ch/projects/0001"; var defObjAccPermission = new CreateDefaultObjectAccessPermission(); defObjAccPermission.forGroup = groupIri; defObjAccPermission.forProject = projectIri; defObjAccPermission.hasPermissions = [permission]; knoraApiConnection.admin.permissionsEndpoint.createDefaultObjectAccessPermission(defObjAccPermission).subscribe(function (response) { expect(response.body.defaultObjectAccessPermission.forGroup).toEqual("http://rdfh.ch/groups/0001/thing-searcher"); expect(response.body.defaultObjectAccessPermission.forProject).toEqual("http://rdfh.ch/projects/0001"); // TODO: remove this bad hack once test data is stable expect(response.body.defaultObjectAccessPermission.id).toBeDefined(); //.toEqual("http://rdfh.ch/permissions/0001/7fKkJ8DKTdew5x0139W78g"); expect(response.body.defaultObjectAccessPermission.hasPermissions.length).toBe(1); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionCreationResponse = require("../../../../test/data/api/admin/permissions/create-defaultObjectAccess-permission-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionCreationResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/doap"); expect(request.method).toEqual("POST"); var payload = require("../../../../test/data/api/admin/permissions/create-defaultObjectAccess-permission-request.json"); expect(request.data()).toEqual(payload); }); it("should attempt to create a default object access permission without a project property", function () { var permission = new CreatePermission(); permission.name = "D"; permission.permissionCode = 7; permission.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var defObjAccPermission = new CreateDefaultObjectAccessPermission(); defObjAccPermission.forGroup = groupIri; defObjAccPermission.hasPermissions = [permission]; expect(function () { return knoraApiConnection.admin.permissionsEndpoint.createDefaultObjectAccessPermission(defObjAccPermission); }).toThrow(new Error("Project is required when creating a new default object access permission.")); }); it("should attempt to create a default object access permission submitting a group and a property", function () { var permission = new CreatePermission(); permission.name = "D"; permission.permissionCode = 7; permission.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var projectIri = "http://rdfh.ch/projects/0001"; var defObjAccPermission = new CreateDefaultObjectAccessPermission(); defObjAccPermission.forGroup = groupIri; defObjAccPermission.forProject = projectIri; defObjAccPermission.forProperty = "myProp"; defObjAccPermission.hasPermissions = [permission]; expect(function () { return knoraApiConnection.admin.permissionsEndpoint.createDefaultObjectAccessPermission(defObjAccPermission); }).toThrow(new Error("Invalid combination of properties for creation of new default object access permission.")); }); it("should attempt to create a default object access permission submitting a group and a resource class", function () { var permission = new CreatePermission(); permission.name = "D"; permission.permissionCode = 7; permission.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; var groupIri = "http://rdfh.ch/groups/0001/thing-searcher"; var projectIri = "http://rdfh.ch/projects/0001"; var defObjAccPermission = new CreateDefaultObjectAccessPermission(); defObjAccPermission.forGroup = groupIri; defObjAccPermission.forProject = projectIri; defObjAccPermission.forResourceClass = "myResclass"; defObjAccPermission.hasPermissions = [permission]; expect(function () { return knoraApiConnection.admin.permissionsEndpoint.createDefaultObjectAccessPermission(defObjAccPermission); }).toThrow(new Error("Invalid combination of properties for creation of new default object access permission.")); }); it("should create an default object access permission with a custom Iri", function (done) { var permission = new CreatePermission(); permission.name = "D"; permission.permissionCode = 7; permission.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; var projectIri = "http://rdfh.ch/projects/00FF"; var defObjAccPermission = new CreateDefaultObjectAccessPermission(); defObjAccPermission.forProject = projectIri; defObjAccPermission.forResourceClass = "http://www.knora.org/ontology/00FF/images#bild"; defObjAccPermission.id = "http://rdfh.ch/permissions/00FF/zTOK3HlWTLGgTO8ZWVnotg"; defObjAccPermission.hasPermissions = [permission]; knoraApiConnection.admin.permissionsEndpoint.createDefaultObjectAccessPermission(defObjAccPermission).subscribe(function (response) { expect(response.body.defaultObjectAccessPermission.forProject).toEqual("http://rdfh.ch/projects/00FF"); expect(response.body.defaultObjectAccessPermission.id).toEqual("http://rdfh.ch/permissions/00FF/zTOK3HlWTLGgTO8ZWVnotg"); expect(response.body.defaultObjectAccessPermission.hasPermissions.length).toBe(1); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionCreationResponse = require("../../../../test/data/api/admin/permissions/create-defaultObjectAccess-permission-withCustomIRI-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionCreationResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/doap"); expect(request.method).toEqual("POST"); var payload = require("../../../../test/data/api/admin/permissions/create-defaultObjectAccess-permission-withCustomIRI-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateDefaultObjectAccessPermission", function () { it("should update a default object access permission", function (done) { var updateDefaultObjectAccessPermission = new UpdateDefaultObjectAccessPermission(); var perm = new UpdatePermission(); perm.additionalInformation = "http://www.knora.org/ontology/knora-admin#ProjectMember"; perm.name = "D"; perm.permissionCode = 7; updateDefaultObjectAccessPermission.hasPermissions = [perm]; knoraApiConnection.admin.permissionsEndpoint.updateDefaultObjectAccessPermission("http://rdfh.ch/permissions/00FF/Q3OMWyFqStGYK8EXmC7KhQ", updateDefaultObjectAccessPermission).subscribe(function (res) { expect(res.body.defaultObjectAccessPermission.id).toEqual("http://rdfh.ch/permissions/00FF/Q3OMWyFqStGYK8EXmC7KhQ"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-hasPermissions-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FQ3OMWyFqStGYK8EXmC7KhQ/hasPermissions"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-hasPermissions-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateDefaultObjectAccessPermissionGroup", function () { it("should update a default object access permission's group", function (done) { var updateDOAPGroup = new UpdateDefaultObjectAccessPermissionGroup(); updateDOAPGroup.forGroup = "http://rdfh.ch/groups/00FF/images-reviewer"; knoraApiConnection.admin.permissionsEndpoint.updateDefaultObjectAccessPermissionGroup("http://rdfh.ch/permissions/00FF/sdHG20U6RoiwSu8MeAT1vA", updateDOAPGroup).subscribe(function (res) { expect(res.body.defaultObjectAccessPermission.id).toEqual("http://rdfh.ch/permissions/00FF/sdHG20U6RoiwSu8MeAT1vA"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forGroup-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FsdHG20U6RoiwSu8MeAT1vA/group"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forGroup-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateDefaultObjectAccessPermissionResourceClass", function () { it("should update a default object access permission's resource class", function (done) { var updateDOAPResClass = new UpdateDefaultObjectAccessPermissionResourceClass(); updateDOAPResClass.forResourceClass = "http://www.knora.org/ontology/0803/incunabula#book"; knoraApiConnection.admin.permissionsEndpoint.updateDefaultObjectAccessPermissionResourceClass("http://rdfh.ch/permissions/00FF/Q3OMWyFqStGYK8EXmC7KhQ", updateDOAPResClass).subscribe(function (res) { expect(res.body.defaultObjectAccessPermission.id).toEqual("http://rdfh.ch/permissions/00FF/Q3OMWyFqStGYK8EXmC7KhQ"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forResourceClass-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FQ3OMWyFqStGYK8EXmC7KhQ/resourceClass"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forResourceClass-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method updateDefaultObjectAccessPermissionProperty", function () { it("should update a default object access permission's property", function (done) { var updateDOAPProperty = new UpdateDefaultObjectAccessPermissionProperty(); updateDOAPProperty.forProperty = "http://www.knora.org/ontology/00FF/images#titel"; knoraApiConnection.admin.permissionsEndpoint.updateDefaultObjectAccessPermissionProperty("http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA", updateDOAPProperty).subscribe(function (res) { expect(res.body.defaultObjectAccessPermission.id).toEqual("http://rdfh.ch/permissions/00FF/Mck2xJDjQ_Oimi_9z4aFaA"); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var permissionUpdateResponse = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forProperty-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(permissionUpdateResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FMck2xJDjQ_Oimi_9z4aFaA/property"); expect(request.method).toEqual("PUT"); var payload = require("../../../../test/data/api/admin/permissions/update-defaultObjectAccess-permission-forProperty-request.json"); expect(request.data()).toEqual(payload); }); }); describe("Method deletePermission", function () { it("should delete an admin permission", function (done) { knoraApiConnection.admin.permissionsEndpoint.deletePermission("http://rdfh.ch/permissions/00FF/a2").subscribe(function (response) { expect(response.body.deleted).toBeTrue(); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var deleteAdminPermissionResponse = require("../../../../test/data/api/admin/permissions/delete-administrative-permission-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(deleteAdminPermissionResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2Fa2"); expect(request.method).toEqual("DELETE"); }); it("should delete an DOA permission", function (done) { knoraApiConnection.admin.permissionsEndpoint.deletePermission("http://rdfh.ch/permissions/00FF/DOAP-with-customIri").subscribe(function (response) { expect(response.body.deleted).toBeTrue(); done(); }); var request = jasmine.Ajax.requests.mostRecent(); var deleteDOAPermissionResponse = require("../../../../test/data/api/admin/permissions/delete-defaultObjectAccess-permission-response.json"); request.respondWith(MockAjaxCall.mockResponse(JSON.stringify(deleteDOAPermissionResponse))); expect(request.url).toBe("http://localhost:3333/admin/permissions/http%3A%2F%2Frdfh.ch%2Fpermissions%2F00FF%2FDOAP-with-customIri"); expect(request.method).toEqual("DELETE"); }); }); }); //# sourceMappingURL=permissions-endpoint.spec.js.map