Fix bugs in attribute outputs page
[sdc.git] / catalog-ui / src / app / models / server-error-response.spec.ts
1 import { ServerErrors } from '../utils/constants';
2 import { ServerErrorResponse } from './server-error-response';
3
4 describe('Test Error Response', () => {
5
6     const requestError = {
7         serviceException: {
8             ecompRequestId: 'd01d4bca-2afa-4394-97c5-6d1b04409545',
9             messageId: 'SVC4558',
10             text: 'Error: Action is not permitted as your \'%1\' includes non-validated \'%2\' resource.',
11             variables: ['service', 'vf1']
12         }
13     };
14
15     const ng1ErrorResponse = {
16         status: 403,
17         data: { requestError },
18         statusText: 'Forbidden'
19     };
20
21     const ng5ErrorResponse = {
22         status: 403,
23         error: { requestError },
24         statusText: 'Forbidden'
25     };
26
27     const ng5InternalServerError = {
28         status: 500,
29         error: 'Oops, server error has occurred...',
30         statusText: 'Internal Server Error'
31     };
32
33     const ng1InternalServerError = {
34         status: 500,
35         data: 'Oops, server error has occurred...',
36         statusText: 'Internal Server Error'
37     };
38
39     it('NG1: Verify that server error response is constructed correctly from NG1 structure', () => {
40         const response: ServerErrorResponse = new ServerErrorResponse(ng1ErrorResponse, true);
41         const formatterMessage = 'Action is not permitted as your \'service\' includes non-validated \'vf1\' resource.';
42
43         expect(response.ecompRequestId).toEqual(ng1ErrorResponse.data.requestError.serviceException.ecompRequestId);
44         expect(response.message).toEqual(formatterMessage);
45         expect(response.status).toEqual(ng1ErrorResponse.status);
46         expect(response.title).toEqual(ServerErrors.ERROR_TITLE);
47     });
48
49     it('NG5: Verify that server error response is constructed correctly from NG5 structure', () => {
50         const response: ServerErrorResponse = new ServerErrorResponse(ng5ErrorResponse);
51         const formatterMessage = 'Action is not permitted as your \'service\' includes non-validated \'vf1\' resource.';
52
53         expect(response.ecompRequestId).toEqual(ng5ErrorResponse.error.requestError.serviceException.ecompRequestId);
54         expect(response.message).toEqual(formatterMessage);
55         expect(response.status).toEqual(ng5ErrorResponse.status);
56         expect(response.title).toEqual(ServerErrors.ERROR_TITLE);
57     });
58
59     it('NG1: Verify that internal server error produce generic message', () => {
60         const response: ServerErrorResponse = new ServerErrorResponse(ng1InternalServerError, true);
61
62         expect(response.message).toEqual(ServerErrors.DEFAULT_ERROR);
63         expect(response.status).toEqual(ng5InternalServerError.status);
64         expect(response.title).toEqual(ServerErrors.ERROR_TITLE);
65     });
66
67     it('NG5: Verify that internal server error produce generic message', () => {
68         const response: ServerErrorResponse = new ServerErrorResponse(ng5InternalServerError);
69
70         expect(response.message).toEqual(ServerErrors.DEFAULT_ERROR);
71         expect(response.status).toEqual(ng5InternalServerError.status);
72         expect(response.title).toEqual(ServerErrors.ERROR_TITLE);
73     });
74 });