@dasch-swiss/dsp-js
Version:
JavaScript library that handles API requests to Knora
111 lines • 4.73 kB
JavaScript
import { KnoraApiConfig } from "./knora-api-config";
describe("Test class KnoraApiConfig", function () {
describe("Test method constructor()", function () {
it("should verify parameters", function () {
var params = [
{
apiProtocol: "http",
apiHost: "localhost"
},
{
apiProtocol: "http",
apiHost: "localhost",
apiPort: 80
},
{
apiProtocol: "https",
apiHost: "localhost"
},
{
apiProtocol: "https",
apiHost: "localhost",
apiPort: 443
},
{
apiProtocol: "http",
apiHost: "localhost",
apiPort: 1234,
apiPath: "/api",
jsonWebToken: "GAGA",
},
{
apiProtocol: "http",
apiHost: "localhost",
apiPort: 1234,
apiPath: "/api",
jsonWebToken: "GAGA",
logErrors: false,
},
{
apiProtocol: "http",
apiHost: "localhost",
apiPort: 1234,
apiPath: "/api",
jsonWebToken: "GAGA",
logErrors: true,
}
];
params.forEach(function (_a) {
var apiProtocol = _a.apiProtocol, apiHost = _a.apiHost, apiPort = _a.apiPort, apiPath = _a.apiPath, jsonWebToken = _a.jsonWebToken, logErrors = _a.logErrors;
var config = new KnoraApiConfig(apiProtocol, apiHost, apiPort, apiPath, jsonWebToken, logErrors);
expect(config).toEqual(jasmine.any(KnoraApiConfig));
expect(config.apiProtocol).toEqual(apiProtocol);
expect(config.apiHost).toEqual(apiHost);
if (apiProtocol === KnoraApiConfig.PROTOCOL_HTTP &&
apiPort === KnoraApiConfig.DEFAULT_PORT_HTTP) {
expect(config.apiPort).toEqual(null);
}
else if (apiProtocol === KnoraApiConfig.PROTOCOL_HTTPS &&
apiPort === KnoraApiConfig.DEFAULT_PORT_HTTPS) {
expect(config.apiPort).toEqual(null);
}
else {
expect(config.apiPort).toEqual(apiPort === undefined ? null : apiPort);
}
expect(config.apiPath).toEqual(apiPath === undefined ? "" : apiPath);
expect(config.jsonWebToken).toEqual(jsonWebToken === undefined ? "" : jsonWebToken);
expect(config.logErrors).toEqual(logErrors === undefined ? false : logErrors);
});
});
});
describe("Test property apiUrl", function () {
it("should return correct value", function () {
var data = [
{
param: { apiProtocol: "http", apiHost: "localhost" },
result: "http://localhost"
},
{
param: { apiProtocol: "http", apiHost: "localhost", apiPort: 80 },
result: "http://localhost"
},
{
param: { apiProtocol: "https", apiHost: "localhost" },
result: "https://localhost"
},
{
param: { apiProtocol: "https", apiHost: "localhost", apiPort: 443 },
result: "https://localhost"
},
{
param: { apiProtocol: "https", apiHost: "domain.com", apiPort: 1234 },
result: "https://domain.com:1234"
},
{
param: { apiProtocol: "https", apiHost: "domain.com", apiPort: 1234, apiPath: "/api" },
result: "https://domain.com:1234/api"
},
{
param: { apiProtocol: "https", apiHost: "domain.com", apiPort: 1234, apiPath: "/api" },
result: "https://domain.com:1234/api"
}
];
data.forEach(function (_a) {
var param = _a.param, result = _a.result;
var config = new KnoraApiConfig(param.apiProtocol, param.apiHost, param.apiPort, param.apiPath);
expect(config.apiUrl).toBe(result);
});
});
});
});
//# sourceMappingURL=knora-api-config.spec.js.map