This repository has been archived by the owner on Jan 11, 2022. It is now read-only.
/
app.config.spec.ts
129 lines (122 loc) · 6.29 KB
/
app.config.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import { AppConfig } from './app.config';
import { async, inject, TestBed } from '@angular/core/testing';
import { HttpModule, Response, ResponseOptions, XHRBackend } from '@angular/http';
import { MockBackend } from '@angular/http/testing';
import { Config, CaseEventData } from '@hmcts/ccd-case-ui-toolkit';
describe('AppConfig', () => {
const LOGIN_URL = 'http://idam.reform/login';
const LOGOUT_URL = 'http://gateway.ccd/logout';
const API_URL = 'http://api.ccd.reform/aggregated';
const DATA_URL = 'http://api.ccd.reform';
const ACTIVITY_URL = 'http://activity';
const DOC_MANAGEMENT_URL = 'http://localhost:3453/documents';
const REMOTE_DOC_MANAGEMENT_URL = 'http://evidence.ccd.reform/documents';
const PAGINATION_PAGE_SIZE = 25;
const POSTCODE_LOOKUP_URL = 'http://api.ccd.reform/addresses?postcode=';
const OAUTH2_TOKEN_ENDPOINT_URL = 'http://gateway.ccd.reform/oauth2';
const OAUTH2_CLIENT_ID = 'some_client_id';
const PRINT_SERVICE_URL = 'http://print';
const REMOTE_PRINT_SERVICE_URL = 'http://print.ccd.reform';
const SMART_SURVEY_URL = 'https://www.smartsurvey.co.uk/s/CCDfeedback/';
const UNSUPPORTED_BROWSER_URL = 'https://www.gov.uk/help/browsers';
const ACTIVITY_NEXT_POLL_REQUEST_MS = 1;
const ACTIVITY_RETRY = 1;
const ACTIVITY_BATCH_COLLECTION_DELAY_MS = 1;
const ACTIVITY_MAX_REQUEST_PER_BATCH = 1;
const PAYMENTS_URL = 'http://payments.reform';
const CHROME_MIN_REQUIRED_VERSION = 67;
const IE_MIN_REQUIRED_VERSION = 11;
const EDGE_MIN_REQUIRED_VERSION = 17;
const FIREFOX_MIN_REQUIRED_VERSION = 60;
const CASE_HISTORY_URL = API_URL + '/caseworkers/:uid/jurisdictions/JID/case-types/CTID/cases/CID/events/EID/case-history';
const CASE_EVENT_DATA: CaseEventData = {
data: {
'PersonLastName': 'Khaleesi'
},
event: {
id: 'triggerId',
summary: 'Some summary',
description: 'Some description',
},
event_token: 'cbcdcbdh',
ignore_warning: false
};
const CREATE_OR_UPDATE_DRAFT_URL = DATA_URL + '/caseworkers/:uid/jurisdictions/JID/case-types/CTID/event-trigger/triggerId/drafts/';
const VIEW_OR_DELETE_DRAFT_URL = DATA_URL + '/caseworkers/:uid/jurisdictions/JID/case-types/CTID/drafts/DID';
const MOCK_CONFIG: Config = {
login_url: LOGIN_URL,
logout_url: LOGOUT_URL,
api_url: API_URL,
case_data_url: DATA_URL,
document_management_url: DOC_MANAGEMENT_URL,
remote_document_management_url: REMOTE_DOC_MANAGEMENT_URL,
pagination_page_size: PAGINATION_PAGE_SIZE,
postcode_lookup_url: POSTCODE_LOOKUP_URL,
oauth2_token_endpoint_url: OAUTH2_TOKEN_ENDPOINT_URL,
oauth2_client_id: OAUTH2_CLIENT_ID,
print_service_url: PRINT_SERVICE_URL,
remote_print_service_url: REMOTE_PRINT_SERVICE_URL,
smart_survey_url: SMART_SURVEY_URL,
unsupported_browser_url: UNSUPPORTED_BROWSER_URL,
activity_url: ACTIVITY_URL,
activity_next_poll_request_ms: ACTIVITY_NEXT_POLL_REQUEST_MS,
activity_retry: ACTIVITY_RETRY,
activity_batch_collection_delay_ms: ACTIVITY_BATCH_COLLECTION_DELAY_MS,
activity_max_request_per_batch: ACTIVITY_MAX_REQUEST_PER_BATCH,
payments_url: PAYMENTS_URL,
chrome_min_required_version: CHROME_MIN_REQUIRED_VERSION,
ie_min_required_version: IE_MIN_REQUIRED_VERSION,
edge_min_required_version: EDGE_MIN_REQUIRED_VERSION,
firefox_min_required_version: FIREFOX_MIN_REQUIRED_VERSION,
};
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpModule],
providers: [
{ provide: XHRBackend, useClass: MockBackend },
AppConfig
]
});
});
describe('load()', () => {
it('should load config from public/config.json',
async(inject([AppConfig, XHRBackend], (appConfig: AppConfig, mockBackend) => {
mockBackend.connections.subscribe((connection) => {
connection.mockRespond(new Response(new ResponseOptions({
body: JSON.stringify(MOCK_CONFIG)
})));
});
appConfig
.load()
.then(() => {
expect(appConfig.getLoginUrl()).toEqual(LOGIN_URL);
expect(appConfig.getLogoutUrl()).toEqual(LOGOUT_URL);
expect(appConfig.getApiUrl()).toEqual(API_URL);
expect(appConfig.getCaseDataUrl()).toEqual(DATA_URL);
expect(appConfig.getDocumentManagementUrl()).toEqual(DOC_MANAGEMENT_URL);
expect(appConfig.getRemoteDocumentManagementUrl()).toEqual(REMOTE_DOC_MANAGEMENT_URL);
expect(appConfig.getPaginationPageSize()).toEqual(PAGINATION_PAGE_SIZE);
expect(appConfig.getPostcodeLookupUrl()).toEqual(POSTCODE_LOOKUP_URL);
expect(appConfig.getOAuth2TokenEndpointUrl()).toEqual(OAUTH2_TOKEN_ENDPOINT_URL);
expect(appConfig.getOAuth2ClientId()).toEqual(OAUTH2_CLIENT_ID);
expect(appConfig.getPrintServiceUrl()).toEqual(PRINT_SERVICE_URL);
expect(appConfig.getRemotePrintServiceUrl()).toEqual(REMOTE_PRINT_SERVICE_URL);
expect(appConfig.getSmartSurveyUrl()).toEqual(SMART_SURVEY_URL);
expect(appConfig.getUnsupportedBrowserUrl()).toEqual(UNSUPPORTED_BROWSER_URL);
expect(appConfig.getActivityUrl()).toEqual(ACTIVITY_URL);
expect(appConfig.getActivityBatchCollectionDelayMs()).toEqual(ACTIVITY_BATCH_COLLECTION_DELAY_MS);
expect(appConfig.getActivityMaxRequestPerBatch()).toEqual(ACTIVITY_MAX_REQUEST_PER_BATCH);
expect(appConfig.getActivityNexPollRequestMs()).toEqual(ACTIVITY_NEXT_POLL_REQUEST_MS);
expect(appConfig.getActivityRetry()).toEqual(ACTIVITY_RETRY);
expect(appConfig.getPaymentsUrl()).toEqual(PAYMENTS_URL);
expect(appConfig.getChromeMinRequiredVersion()).toEqual(CHROME_MIN_REQUIRED_VERSION);
expect(appConfig.getIEMinRequiredVersion()).toEqual(IE_MIN_REQUIRED_VERSION);
expect(appConfig.getEdgeMinRequiredVersion()).toEqual(EDGE_MIN_REQUIRED_VERSION);
expect(appConfig.getFirefoxMinRequiredVersion()).toEqual(FIREFOX_MIN_REQUIRED_VERSION);
expect(appConfig.getCaseHistoryUrl('JID', 'CTID', 'CID', 'EID')).toEqual(CASE_HISTORY_URL);
expect(appConfig.getCreateOrUpdateDraftsUrl('JID', 'CTID', CASE_EVENT_DATA)).toEqual(CREATE_OR_UPDATE_DRAFT_URL);
expect(appConfig.getViewOrDeleteDraftsUrl('JID', 'CTID', 'DID')).toEqual(VIEW_OR_DELETE_DRAFT_URL);
});
})));
});
});