@shopgate/pwa-common 7.32.0-beta.2 → 7.32.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/app/handleLink.js +6 -2
- package/components/Button/index.js +6 -0
- package/components/Image/Image.d.ts +78 -0
- package/components/Image/Image.d.ts.map +1 -0
- package/components/Image/Image.js +123 -91
- package/components/Image/ImageInner.d.ts +45 -0
- package/components/Image/ImageInner.d.ts.map +1 -0
- package/components/Image/ImageInner.js +23 -29
- package/components/Image/index.d.ts +3 -0
- package/components/Image/index.d.ts.map +1 -0
- package/components/Swiper/index.js +17 -2
- package/constants/Configuration.js +7 -0
- package/helpers/html/decodeHTML.js +5 -3
- package/helpers/html/htmlToText.js +15 -0
- package/helpers/mocks/mockRenderOptions.js +21 -0
- package/helpers/router/index.js +85 -0
- package/package.json +3 -3
- package/providers/toast/index.js +54 -40
- package/subscriptions/error.js +50 -27
- package/subscriptions/helpers/pipeline.js +68 -0
- package/subscriptions/router.js +22 -8
- package/action-creators/app/spec.js +0 -96
- package/action-creators/client/spec.js +0 -44
- package/action-creators/menu/spec.js +0 -37
- package/action-creators/modal/spec.js +0 -26
- package/action-creators/page/spec.js +0 -38
- package/action-creators/url/spec.js +0 -45
- package/action-creators/user/spec.js +0 -186
- package/components/Backdrop/spec.js +0 -24
- package/components/Button/spec.js +0 -42
- package/components/Checkbox/spec.js +0 -111
- package/components/CountdownTimer/spec.js +0 -141
- package/components/Drawer/spec.js +0 -79
- package/components/Ellipsis/spec.js +0 -15
- package/components/EmbeddedMedia/spec.js +0 -61
- package/components/Grid/components/Item/spec.js +0 -24
- package/components/Grid/spec.js +0 -24
- package/components/HtmlSanitizer/spec.js +0 -229
- package/components/I18n/components/FormatDate/spec.js +0 -54
- package/components/I18n/components/FormatNumber/spec.js +0 -51
- package/components/I18n/components/FormatPrice/spec.js +0 -54
- package/components/I18n/components/FormatTime/spec.js +0 -51
- package/components/I18n/components/I18nProvider/spec.js +0 -40
- package/components/I18n/components/Placeholder/spec.js +0 -37
- package/components/I18n/components/Translate/spec.js +0 -33
- package/components/InfiniteContainer/spec.js +0 -204
- package/components/Input/spec.js +0 -123
- package/components/Link/spec.js +0 -60
- package/components/List/spec.js +0 -26
- package/components/ModalContainer/spec.js +0 -115
- package/components/Select/spec.js +0 -122
- package/components/SelectBox/spec.js +0 -68
- package/components/Swiper/components/SwiperItem/spec.js +0 -26
- package/components/Widgets/components/Widget/spec.js +0 -75
- package/components/Widgets/components/WidgetGrid/spec.js +0 -53
- package/components/Widgets/spec.js +0 -234
- package/helpers/data/spec.js +0 -194
- package/helpers/date/spec.js +0 -92
- package/helpers/style/spec.js +0 -108
- package/helpers/validation/spec.js +0 -10
- package/styles/reset/form.js +0 -58
- package/styles/reset/index.js +0 -8
- package/styles/reset/media.js +0 -26
- package/styles/reset/root.js +0 -37
- package/styles/reset/table.js +0 -14
- package/styles/reset/typography.js +0 -30
- package/tsconfig.build.json +0 -16
- package/tsconfig.json +0 -3
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { requestClientInformation, receiveClientInformation, errorClientInformation, receiveClientConnectivity } from "./index";
|
|
2
|
-
import { REQUEST_CLIENT_INFORMATION, RECEIVE_CLIENT_INFORMATION, ERROR_CLIENT_INFORMATION, RECEIVE_CLIENT_CONNECTIVITY } from "../../constants/ActionTypes";
|
|
3
|
-
describe('Action Creators: client', () => {
|
|
4
|
-
describe('requestClientInformation()', () => {
|
|
5
|
-
it('should work as expected', () => {
|
|
6
|
-
const expected = {
|
|
7
|
-
type: REQUEST_CLIENT_INFORMATION
|
|
8
|
-
};
|
|
9
|
-
expect(requestClientInformation()).toEqual(expected);
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
describe('receiveClientInformation()', () => {
|
|
13
|
-
it('should work as expected', () => {
|
|
14
|
-
const data = {
|
|
15
|
-
some: 'data'
|
|
16
|
-
};
|
|
17
|
-
const expected = {
|
|
18
|
-
type: RECEIVE_CLIENT_INFORMATION,
|
|
19
|
-
data
|
|
20
|
-
};
|
|
21
|
-
expect(receiveClientInformation(data)).toEqual(expected);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe('errorClientInformation()', () => {
|
|
25
|
-
it('should work as expected', () => {
|
|
26
|
-
const expected = {
|
|
27
|
-
type: ERROR_CLIENT_INFORMATION
|
|
28
|
-
};
|
|
29
|
-
expect(errorClientInformation()).toEqual(expected);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('receiveClientConnectivity()', () => {
|
|
33
|
-
it('should work as expected', () => {
|
|
34
|
-
const data = {
|
|
35
|
-
some: 'data'
|
|
36
|
-
};
|
|
37
|
-
const expected = {
|
|
38
|
-
type: RECEIVE_CLIENT_CONNECTIVITY,
|
|
39
|
-
data
|
|
40
|
-
};
|
|
41
|
-
expect(receiveClientConnectivity(data)).toEqual(expected);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { REQUEST_MENU, RECEIVE_MENU, ERROR_MENU } from "../../constants/ActionTypes";
|
|
2
|
-
import { requestMenu, receiveMenu, errorMenu } from "./index";
|
|
3
|
-
const entries = [{
|
|
4
|
-
url: '/',
|
|
5
|
-
label: 'Page Label'
|
|
6
|
-
}];
|
|
7
|
-
const id = 'quicklinks';
|
|
8
|
-
describe('Action Creators: menu', () => {
|
|
9
|
-
describe('requestMenu()', () => {
|
|
10
|
-
it('should work as expected', () => {
|
|
11
|
-
const expected = {
|
|
12
|
-
type: REQUEST_MENU,
|
|
13
|
-
id
|
|
14
|
-
};
|
|
15
|
-
expect(requestMenu(id)).toEqual(expected);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('receiveMenu()', () => {
|
|
19
|
-
it('should work as expected', () => {
|
|
20
|
-
const expected = {
|
|
21
|
-
type: RECEIVE_MENU,
|
|
22
|
-
id,
|
|
23
|
-
entries
|
|
24
|
-
};
|
|
25
|
-
expect(receiveMenu(id, entries)).toEqual(expected);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('errorMenu()', () => {
|
|
29
|
-
it('should work as expected', () => {
|
|
30
|
-
const expected = {
|
|
31
|
-
type: ERROR_MENU,
|
|
32
|
-
id
|
|
33
|
-
};
|
|
34
|
-
expect(errorMenu(id)).toEqual(expected);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CREATE_MODAL, REMOVE_MODAL } from "../../constants/ActionTypes";
|
|
2
|
-
import { createModal, removeModal } from "./index";
|
|
3
|
-
const options = {
|
|
4
|
-
some: 'data'
|
|
5
|
-
};
|
|
6
|
-
const id = 'modalId';
|
|
7
|
-
describe('Action Creators: modal', () => {
|
|
8
|
-
describe('createModal()', () => {
|
|
9
|
-
it('should work as expected', () => {
|
|
10
|
-
const expected = {
|
|
11
|
-
type: CREATE_MODAL,
|
|
12
|
-
options
|
|
13
|
-
};
|
|
14
|
-
expect(createModal(options)).toEqual(expected);
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
describe('removeModal()', () => {
|
|
18
|
-
it('should work as expected', () => {
|
|
19
|
-
const expected = {
|
|
20
|
-
type: REMOVE_MODAL,
|
|
21
|
-
id
|
|
22
|
-
};
|
|
23
|
-
expect(removeModal(id)).toEqual(expected);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
});
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { REQUEST_PAGE_CONFIG, RECEIVE_PAGE_CONFIG, ERROR_PAGE_CONFIG } from "../../constants/ActionTypes";
|
|
2
|
-
import { requestPageConfig, receivePageConfig, errorPageConfig } from "./index";
|
|
3
|
-
const pageId = 'index';
|
|
4
|
-
const config = {
|
|
5
|
-
some: 'data'
|
|
6
|
-
};
|
|
7
|
-
describe('Action Creators: page', () => {
|
|
8
|
-
describe('requestPageConfig()', () => {
|
|
9
|
-
it('should work as expected', () => {
|
|
10
|
-
const expected = {
|
|
11
|
-
type: REQUEST_PAGE_CONFIG,
|
|
12
|
-
pageId
|
|
13
|
-
};
|
|
14
|
-
expect(requestPageConfig(pageId)).toEqual(expected);
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
describe('receivePageConfig()', () => {
|
|
18
|
-
it('should work as expected', () => {
|
|
19
|
-
const expected = {
|
|
20
|
-
type: RECEIVE_PAGE_CONFIG,
|
|
21
|
-
pageId,
|
|
22
|
-
config
|
|
23
|
-
};
|
|
24
|
-
expect(receivePageConfig(pageId, config)).toEqual(expected);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe('errorPageConfig()', () => {
|
|
28
|
-
it('should work as expected', () => {
|
|
29
|
-
const errorCode = 'error';
|
|
30
|
-
const expected = {
|
|
31
|
-
type: ERROR_PAGE_CONFIG,
|
|
32
|
-
errorCode,
|
|
33
|
-
pageId
|
|
34
|
-
};
|
|
35
|
-
expect(errorPageConfig(pageId, errorCode)).toEqual(expected);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { RECEIVE_URL, REQUEST_URL, ERROR_URL } from "../../constants/ActionTypes";
|
|
2
|
-
import { receiveUrl, requestUrl, errorUrl } from "./index";
|
|
3
|
-
const url = 'https://www.myshop.com/checkout';
|
|
4
|
-
const urlType = 'checkout';
|
|
5
|
-
const expires = 123456;
|
|
6
|
-
describe('Action Creators: url', () => {
|
|
7
|
-
describe('receiveUrl()', () => {
|
|
8
|
-
it('should work as expected', () => {
|
|
9
|
-
const expected = {
|
|
10
|
-
type: RECEIVE_URL,
|
|
11
|
-
url,
|
|
12
|
-
urlType,
|
|
13
|
-
expires
|
|
14
|
-
};
|
|
15
|
-
expect(receiveUrl(urlType, url, expires)).toEqual(expected);
|
|
16
|
-
});
|
|
17
|
-
it('should work as expected when no expires parameter is passed', () => {
|
|
18
|
-
const expected = {
|
|
19
|
-
type: RECEIVE_URL,
|
|
20
|
-
url,
|
|
21
|
-
urlType,
|
|
22
|
-
expires: null
|
|
23
|
-
};
|
|
24
|
-
expect(receiveUrl(urlType, url)).toEqual(expected);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe('requestUrl()', () => {
|
|
28
|
-
it('should work as expected', () => {
|
|
29
|
-
const expected = {
|
|
30
|
-
type: REQUEST_URL,
|
|
31
|
-
urlType
|
|
32
|
-
};
|
|
33
|
-
expect(requestUrl(urlType)).toEqual(expected);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
describe('errorUrl()', () => {
|
|
37
|
-
it('should work as expected', () => {
|
|
38
|
-
const expected = {
|
|
39
|
-
type: ERROR_URL,
|
|
40
|
-
urlType
|
|
41
|
-
};
|
|
42
|
-
expect(errorUrl(urlType)).toEqual(expected);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { requestLogin, successLogin, errorLogin, requestLogout, successLogout, errorLogout, requestUser, receiveUser, errorUser, toggleLoggedIn } from "./index";
|
|
2
|
-
import { REQUEST_LOGIN, SUCCESS_LOGIN, ERROR_LOGIN, REQUEST_LOGOUT, SUCCESS_LOGOUT, ERROR_LOGOUT, REQUEST_USER, RECEIVE_USER, ERROR_USER, TOGGLE_LOGGED_IN } from "../../constants/ActionTypes";
|
|
3
|
-
import { DEFAULT_LOGIN_STRATEGY } from "../../constants/user";
|
|
4
|
-
const messages = [{
|
|
5
|
-
type: 'EUNKNOWN',
|
|
6
|
-
message: 'Something went wrong',
|
|
7
|
-
code: 1337
|
|
8
|
-
}];
|
|
9
|
-
describe('Action Creators: user', () => {
|
|
10
|
-
describe('requestLogin()', () => {
|
|
11
|
-
it('should work as expected', () => {
|
|
12
|
-
const user = 'super@user.com';
|
|
13
|
-
const password = 'super#password';
|
|
14
|
-
const expected = {
|
|
15
|
-
type: REQUEST_LOGIN,
|
|
16
|
-
user,
|
|
17
|
-
password,
|
|
18
|
-
strategy: DEFAULT_LOGIN_STRATEGY
|
|
19
|
-
};
|
|
20
|
-
expect(requestLogin(user, password)).toEqual(expected);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe('successLogin()', () => {
|
|
24
|
-
it('should work as expected with no parameters', () => {
|
|
25
|
-
const expected = {
|
|
26
|
-
type: SUCCESS_LOGIN,
|
|
27
|
-
redirect: undefined,
|
|
28
|
-
strategy: DEFAULT_LOGIN_STRATEGY
|
|
29
|
-
};
|
|
30
|
-
expect(successLogin()).toEqual(expected);
|
|
31
|
-
});
|
|
32
|
-
it('should work as expected with parameters', () => {
|
|
33
|
-
const redirect = '/some/url';
|
|
34
|
-
const strategy = 'custom';
|
|
35
|
-
const expected = {
|
|
36
|
-
type: SUCCESS_LOGIN,
|
|
37
|
-
redirect,
|
|
38
|
-
strategy
|
|
39
|
-
};
|
|
40
|
-
expect(successLogin(redirect, strategy)).toEqual(expected);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
describe('errorLogin()', () => {
|
|
44
|
-
it('should work as expected', () => {
|
|
45
|
-
const expected = {
|
|
46
|
-
type: ERROR_LOGIN,
|
|
47
|
-
code: 'EUNKNOWN',
|
|
48
|
-
messages
|
|
49
|
-
};
|
|
50
|
-
expect(errorLogin(messages, 'EUNKNOWN')).toEqual(expected);
|
|
51
|
-
});
|
|
52
|
-
it('should work as expected when the messages parameter is empty', () => {
|
|
53
|
-
const expected = {
|
|
54
|
-
type: ERROR_LOGIN,
|
|
55
|
-
code: 'EUNKNOWN',
|
|
56
|
-
messages: []
|
|
57
|
-
};
|
|
58
|
-
expect(errorLogin(undefined, 'EUNKNOWN')).toEqual(expected);
|
|
59
|
-
});
|
|
60
|
-
it('should work as expected when the code paramter is empty', () => {
|
|
61
|
-
const expected = {
|
|
62
|
-
type: ERROR_LOGIN,
|
|
63
|
-
code: '',
|
|
64
|
-
messages
|
|
65
|
-
};
|
|
66
|
-
expect(errorLogin(messages)).toEqual(expected);
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
describe('requestLogout()', () => {
|
|
70
|
-
it('should work as expected', () => {
|
|
71
|
-
const expected = {
|
|
72
|
-
type: REQUEST_LOGOUT
|
|
73
|
-
};
|
|
74
|
-
expect(requestLogout()).toEqual(expected);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
describe('successLogout()', () => {
|
|
78
|
-
it('should work as expected when called without parameter', () => {
|
|
79
|
-
const expected = {
|
|
80
|
-
type: SUCCESS_LOGOUT,
|
|
81
|
-
notify: true,
|
|
82
|
-
autoLogout: false
|
|
83
|
-
};
|
|
84
|
-
expect(successLogout()).toEqual(expected);
|
|
85
|
-
});
|
|
86
|
-
it('should work as expected when called with true', () => {
|
|
87
|
-
const expected = {
|
|
88
|
-
type: SUCCESS_LOGOUT,
|
|
89
|
-
notify: true,
|
|
90
|
-
autoLogout: false
|
|
91
|
-
};
|
|
92
|
-
expect(successLogout(true)).toEqual(expected);
|
|
93
|
-
});
|
|
94
|
-
it('should work as expected when called with false', () => {
|
|
95
|
-
const expected = {
|
|
96
|
-
type: SUCCESS_LOGOUT,
|
|
97
|
-
notify: false,
|
|
98
|
-
autoLogout: false
|
|
99
|
-
};
|
|
100
|
-
expect(successLogout(false)).toEqual(expected);
|
|
101
|
-
});
|
|
102
|
-
it('should work as expected when called with autoLogout parameter', () => {
|
|
103
|
-
const expected = {
|
|
104
|
-
type: SUCCESS_LOGOUT,
|
|
105
|
-
notify: true,
|
|
106
|
-
autoLogout: true
|
|
107
|
-
};
|
|
108
|
-
expect(successLogout(undefined, true)).toEqual(expected);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe('errorLogout()', () => {
|
|
112
|
-
it('should work as expected', () => {
|
|
113
|
-
const expected = {
|
|
114
|
-
type: ERROR_LOGOUT,
|
|
115
|
-
messages,
|
|
116
|
-
autoLogout: false
|
|
117
|
-
};
|
|
118
|
-
expect(errorLogout(messages)).toEqual(expected);
|
|
119
|
-
});
|
|
120
|
-
it('should work as expected when the messages parameter is empty', () => {
|
|
121
|
-
const expected = {
|
|
122
|
-
type: ERROR_LOGOUT,
|
|
123
|
-
messages: [],
|
|
124
|
-
autoLogout: false
|
|
125
|
-
};
|
|
126
|
-
expect(errorLogout()).toEqual(expected);
|
|
127
|
-
});
|
|
128
|
-
it('should work as expected when called with autoLogout parameter', () => {
|
|
129
|
-
const expected = {
|
|
130
|
-
type: ERROR_LOGOUT,
|
|
131
|
-
messages,
|
|
132
|
-
autoLogout: true
|
|
133
|
-
};
|
|
134
|
-
expect(errorLogout(messages, true)).toEqual(expected);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
describe('requestUser()', () => {
|
|
138
|
-
it('should work as expected', () => {
|
|
139
|
-
const expected = {
|
|
140
|
-
type: REQUEST_USER
|
|
141
|
-
};
|
|
142
|
-
expect(requestUser()).toEqual(expected);
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
describe('receiveUser()', () => {
|
|
146
|
-
it('should work as expected', () => {
|
|
147
|
-
const user = {
|
|
148
|
-
firstName: 'John',
|
|
149
|
-
lastName: 'Doe',
|
|
150
|
-
mail: 'john@doe.com'
|
|
151
|
-
};
|
|
152
|
-
const expected = {
|
|
153
|
-
type: RECEIVE_USER,
|
|
154
|
-
user
|
|
155
|
-
};
|
|
156
|
-
expect(receiveUser(user)).toEqual(expected);
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('errorUser()', () => {
|
|
160
|
-
it('should work as expected', () => {
|
|
161
|
-
const err = new Error();
|
|
162
|
-
// eslint-disable-next-line extra-rules/no-single-line-objects
|
|
163
|
-
const expected = {
|
|
164
|
-
type: ERROR_USER,
|
|
165
|
-
error: err
|
|
166
|
-
};
|
|
167
|
-
expect(errorUser(err)).toEqual(expected);
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
describe('toggleLoggedIn()', () => {
|
|
171
|
-
it('should toggle to true', () => {
|
|
172
|
-
const expected = {
|
|
173
|
-
type: TOGGLE_LOGGED_IN,
|
|
174
|
-
value: true
|
|
175
|
-
};
|
|
176
|
-
expect(toggleLoggedIn(true)).toEqual(expected);
|
|
177
|
-
});
|
|
178
|
-
it('should toggle to false', () => {
|
|
179
|
-
const expected = {
|
|
180
|
-
type: TOGGLE_LOGGED_IN,
|
|
181
|
-
value: false
|
|
182
|
-
};
|
|
183
|
-
expect(toggleLoggedIn(false)).toEqual(expected);
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { shallow, mount } from 'enzyme';
|
|
3
|
-
import Backdrop from "./index";
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
describe('<Backdrop />', () => {
|
|
6
|
-
let mockOpen;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
mockOpen = jest.fn();
|
|
9
|
-
});
|
|
10
|
-
it('should render', () => {
|
|
11
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Backdrop, {
|
|
12
|
-
isVisible: true
|
|
13
|
-
}));
|
|
14
|
-
expect(wrapper).toMatchSnapshot();
|
|
15
|
-
});
|
|
16
|
-
it('should execute callback when Backdrop is clicked', () => {
|
|
17
|
-
const wrapper = mount(/*#__PURE__*/_jsx(Backdrop, {
|
|
18
|
-
isVisible: true,
|
|
19
|
-
onClick: mockOpen
|
|
20
|
-
}));
|
|
21
|
-
wrapper.find('div').simulate('click');
|
|
22
|
-
expect(mockOpen).toBeCalled();
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { shallow } from 'enzyme';
|
|
3
|
-
import Button from "./index";
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
describe('<Button />', () => {
|
|
6
|
-
it('should render the button', () => {
|
|
7
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Button, {
|
|
8
|
-
children: "My content"
|
|
9
|
-
}));
|
|
10
|
-
expect(wrapper).toMatchSnapshot();
|
|
11
|
-
expect(wrapper.find('button').length).toBe(1);
|
|
12
|
-
});
|
|
13
|
-
it('should render the button in disabled state', () => {
|
|
14
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Button, {
|
|
15
|
-
disabled: true,
|
|
16
|
-
children: "My content"
|
|
17
|
-
}));
|
|
18
|
-
expect(wrapper).toMatchSnapshot();
|
|
19
|
-
expect(wrapper.find('button[disabled]').length).toBe(1);
|
|
20
|
-
});
|
|
21
|
-
it('should trigger the click event', () => {
|
|
22
|
-
const callback = jest.fn();
|
|
23
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Button, {
|
|
24
|
-
onClick: callback,
|
|
25
|
-
children: "My content"
|
|
26
|
-
}));
|
|
27
|
-
wrapper.simulate('click');
|
|
28
|
-
expect(wrapper).toMatchSnapshot();
|
|
29
|
-
expect(callback).toHaveBeenCalled();
|
|
30
|
-
});
|
|
31
|
-
it('should not trigger the click event when disabled', () => {
|
|
32
|
-
const callback = jest.fn();
|
|
33
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Button, {
|
|
34
|
-
disabled: true,
|
|
35
|
-
onClick: callback,
|
|
36
|
-
children: "My content"
|
|
37
|
-
}));
|
|
38
|
-
wrapper.simulate('click');
|
|
39
|
-
expect(wrapper).toMatchSnapshot();
|
|
40
|
-
expect(callback).not.toHaveBeenCalled();
|
|
41
|
-
});
|
|
42
|
-
});
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { shallow } from 'enzyme';
|
|
3
|
-
import Checkbox from "./index";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Checked Icon
|
|
7
|
-
* @returns {JSX}
|
|
8
|
-
*/
|
|
9
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
const Checked = () => /*#__PURE__*/_jsx("div", {});
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Unchecked Icon
|
|
14
|
-
* @returns {JSX}
|
|
15
|
-
*/
|
|
16
|
-
const Unchecked = () => /*#__PURE__*/_jsx("div", {});
|
|
17
|
-
describe('<Checkbox />', () => {
|
|
18
|
-
it('should render the checkbox with the label before the icon', () => {
|
|
19
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
20
|
-
label: /*#__PURE__*/_jsx("span", {
|
|
21
|
-
children: "Test Label Deluxe"
|
|
22
|
-
}),
|
|
23
|
-
labelPosition: "left",
|
|
24
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
25
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {}),
|
|
26
|
-
checked: false
|
|
27
|
-
}));
|
|
28
|
-
const expected = /*#__PURE__*/_jsxs("div", {
|
|
29
|
-
children: [/*#__PURE__*/_jsx("span", {
|
|
30
|
-
children: "Test Label Deluxe"
|
|
31
|
-
}), /*#__PURE__*/_jsx(Unchecked, {})]
|
|
32
|
-
});
|
|
33
|
-
expect(wrapper).toMatchSnapshot();
|
|
34
|
-
expect(wrapper.matchesElement(expected)).toBeTruthy();
|
|
35
|
-
});
|
|
36
|
-
it('should render the checkbox with the label after the icon', () => {
|
|
37
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
38
|
-
label: /*#__PURE__*/_jsx("span", {
|
|
39
|
-
children: "Test Label Deluxe"
|
|
40
|
-
}),
|
|
41
|
-
labelPosition: "right",
|
|
42
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
43
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {}),
|
|
44
|
-
checked: false
|
|
45
|
-
}));
|
|
46
|
-
const expected = /*#__PURE__*/_jsxs("div", {
|
|
47
|
-
children: [/*#__PURE__*/_jsx(Unchecked, {}), /*#__PURE__*/_jsx("span", {
|
|
48
|
-
children: "Test Label Deluxe"
|
|
49
|
-
})]
|
|
50
|
-
});
|
|
51
|
-
expect(wrapper).toMatchSnapshot();
|
|
52
|
-
expect(wrapper.matchesElement(expected)).toBeTruthy();
|
|
53
|
-
});
|
|
54
|
-
it('should render the unchecked icon if "checked" is false', () => {
|
|
55
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
56
|
-
checked: false,
|
|
57
|
-
label: "Test Label Deluxe",
|
|
58
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
59
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {})
|
|
60
|
-
}));
|
|
61
|
-
expect(wrapper).toMatchSnapshot();
|
|
62
|
-
expect(wrapper.find(Checked).length).toBe(0);
|
|
63
|
-
expect(wrapper.find(Unchecked).length).toBe(1);
|
|
64
|
-
});
|
|
65
|
-
it('should render the unchecked icon if "checked" is false', () => {
|
|
66
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
67
|
-
checked: true,
|
|
68
|
-
label: "Test Label Deluxe",
|
|
69
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
70
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {})
|
|
71
|
-
}));
|
|
72
|
-
expect(wrapper).toMatchSnapshot();
|
|
73
|
-
expect(wrapper.find(Checked).length).toBe(1);
|
|
74
|
-
expect(wrapper.find(Unchecked).length).toBe(0);
|
|
75
|
-
});
|
|
76
|
-
it('should call the callback with the inverted value', () => {
|
|
77
|
-
const spy = jest.fn();
|
|
78
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
79
|
-
label: "Test Label Deluxe",
|
|
80
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
81
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {}),
|
|
82
|
-
checked: false,
|
|
83
|
-
onCheck: spy
|
|
84
|
-
}));
|
|
85
|
-
wrapper.simulate('click');
|
|
86
|
-
expect(spy).toHaveBeenCalledWith(true);
|
|
87
|
-
});
|
|
88
|
-
it('should render an <input> element if a name prop is provided', () => {
|
|
89
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
90
|
-
label: "Test Label Deluxe",
|
|
91
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
92
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {}),
|
|
93
|
-
defaultChecked: false,
|
|
94
|
-
name: "myCheckbox"
|
|
95
|
-
}));
|
|
96
|
-
const input = wrapper.find('input');
|
|
97
|
-
expect(input.length).toBe(1);
|
|
98
|
-
expect(input.prop('name')).toEqual('myCheckbox');
|
|
99
|
-
expect(input.prop('value')).toEqual(0);
|
|
100
|
-
});
|
|
101
|
-
it('should work as an uncontrolled input', () => {
|
|
102
|
-
const wrapper = shallow(/*#__PURE__*/_jsx(Checkbox, {
|
|
103
|
-
label: "Test Label Deluxe",
|
|
104
|
-
checkedIcon: /*#__PURE__*/_jsx(Checked, {}),
|
|
105
|
-
uncheckedIcon: /*#__PURE__*/_jsx(Unchecked, {}),
|
|
106
|
-
defaultChecked: false
|
|
107
|
-
}));
|
|
108
|
-
wrapper.simulate('click');
|
|
109
|
-
expect(wrapper.state('checked')).toBe(true);
|
|
110
|
-
});
|
|
111
|
-
});
|