56 lines
2.0 KiB
TypeScript
56 lines
2.0 KiB
TypeScript
import {
|
|
EnvironmentServerConfigData,
|
|
ServerConfigData,
|
|
ThirdPartyServerConfigData,
|
|
} from "./server-config.data";
|
|
|
|
describe("ServerConfigData", () => {
|
|
describe("fromJSON", () => {
|
|
it("should create a ServerConfigData from a JSON object", () => {
|
|
const serverConfigData = ServerConfigData.fromJSON({
|
|
version: "1.0.0",
|
|
gitHash: "1234567890",
|
|
server: {
|
|
name: "test",
|
|
url: "https://test.com",
|
|
},
|
|
environment: {
|
|
vault: "https://vault.com",
|
|
api: "https://api.com",
|
|
identity: "https://identity.com",
|
|
notifications: "https://notifications.com",
|
|
sso: "https://sso.com",
|
|
},
|
|
utcDate: "2020-01-01T00:00:00.000Z",
|
|
});
|
|
|
|
expect(serverConfigData.version).toEqual("1.0.0");
|
|
expect(serverConfigData.gitHash).toEqual("1234567890");
|
|
expect(serverConfigData.server.name).toEqual("test");
|
|
expect(serverConfigData.server.url).toEqual("https://test.com");
|
|
expect(serverConfigData.environment.vault).toEqual("https://vault.com");
|
|
expect(serverConfigData.environment.api).toEqual("https://api.com");
|
|
expect(serverConfigData.environment.identity).toEqual("https://identity.com");
|
|
expect(serverConfigData.environment.notifications).toEqual("https://notifications.com");
|
|
expect(serverConfigData.environment.sso).toEqual("https://sso.com");
|
|
expect(serverConfigData.utcDate).toEqual("2020-01-01T00:00:00.000Z");
|
|
});
|
|
|
|
it("should be an instance of ServerConfigData", () => {
|
|
const serverConfigData = ServerConfigData.fromJSON({} as any);
|
|
|
|
expect(serverConfigData).toBeInstanceOf(ServerConfigData);
|
|
});
|
|
|
|
it("should deserialize sub objects", () => {
|
|
const serverConfigData = ServerConfigData.fromJSON({
|
|
server: {},
|
|
environment: {},
|
|
} as any);
|
|
|
|
expect(serverConfigData.server).toBeInstanceOf(ThirdPartyServerConfigData);
|
|
expect(serverConfigData.environment).toBeInstanceOf(EnvironmentServerConfigData);
|
|
});
|
|
});
|
|
});
|