@thepalaceproject/circulation-admin 0.0.0-post.1
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/.eslintrc +59 -0
- package/.node-version +1 -0
- package/.nvmrc +1 -0
- package/.prettierrc.json +10 -0
- package/.sass-lint.yml +37 -0
- package/CHANGELOG.md +946 -0
- package/README.md +155 -0
- package/dist/060b2710bdbbe3dfe48b58d59bd5f1fb.svg +288 -0
- package/dist/0db1520f47986b6c755a.svg +1 -0
- package/dist/1e59d2330b4c6deb84b3.ttf +0 -0
- package/dist/20fd1704ea223900efa9.woff2 +0 -0
- package/dist/4692b9ec53fd5972caa2.ttf +0 -0
- package/dist/5be1347c682810f199c7.eot +0 -0
- package/dist/6563aa3790be8329e4f2.svg +1 -0
- package/dist/82b1212e45a2bc35dd73.woff +0 -0
- package/dist/8b43027f47b20503057d.eot +0 -0
- package/dist/PalaceCollectionManagerLogo.svg +122 -0
- package/dist/be810be3a3e14c682a25.woff2 +0 -0
- package/dist/c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg +2671 -0
- package/dist/circulation-admin.css +6841 -0
- package/dist/circulation-admin.js +2 -0
- package/dist/circulation-admin.js.LICENSE.txt +153 -0
- package/dist/f691f37e57f04c152e23.woff +0 -0
- package/jest.config.js +15 -0
- package/jest.polyfills.js +12 -0
- package/nightwatch.json +58 -0
- package/package.json +155 -0
- package/pull_request_template.md +22 -0
- package/requirements-ci.txt +1 -0
- package/testReporter.js +31 -0
- package/tests/__data__/statisticsApiResponseData.ts +327 -0
- package/tests/__mocks__/fileMock.js +1 -0
- package/tests/__mocks__/styleMock.js +1 -0
- package/tests/browser/README.md +19 -0
- package/tests/browser/assertions/noError.js +38 -0
- package/tests/browser/commands/goHome.js +13 -0
- package/tests/browser/commands/signIn.js +18 -0
- package/tests/browser/globals.js.sample +5 -0
- package/tests/browser/navigate.js +294 -0
- package/tests/browser/pages/book.js +21 -0
- package/tests/browser/pages/catalog.js +24 -0
- package/tests/browser/pages/login.js +11 -0
- package/tests/browser/redirect.js +104 -0
- package/tests/browser/signInFailure.js +22 -0
- package/tests/jest/README.md +6 -0
- package/tests/jest/api/admin.test.ts +60 -0
- package/tests/jest/businessRules/roleBasedAccess.test.ts +250 -0
- package/tests/jest/components/AdvancedSearchBuilder.test.tsx +38 -0
- package/tests/jest/components/BookEditor.test.tsx +240 -0
- package/tests/jest/components/CirculationEventsDownload.test.tsx +65 -0
- package/tests/jest/components/CustomLists.test.tsx +203 -0
- package/tests/jest/components/EditableInput.test.tsx +64 -0
- package/tests/jest/components/IndividualAdminEditForm.test.tsx +128 -0
- package/tests/jest/components/InventoryReportRequestModal.test.tsx +652 -0
- package/tests/jest/components/Lane.test.tsx +78 -0
- package/tests/jest/components/LaneEditor.test.tsx +148 -0
- package/tests/jest/components/ProtocolFormField.test.tsx +37 -0
- package/tests/jest/components/QuicksightDashboard.test.tsx +67 -0
- package/tests/jest/components/Stats.test.tsx +699 -0
- package/tests/jest/context/AppContext.test.tsx +113 -0
- package/tests/jest/features/book.test.ts +396 -0
- package/tests/jest/jest-setup.ts +1 -0
- package/tests/jest/sample/sample.test.js +3 -0
- package/tests/jest/testUtils/renderWithContext.tsx +38 -0
- package/tests/jest/testUtils/withProviders.tsx +92 -0
- package/tests/jest/utils/NoCacheDataFetcher.test.ts +75 -0
- package/tsconfig.json +25 -0
- package/tslint.json +56 -0
- package/webpack.common.js +72 -0
- package/webpack.dev-server.config.js +215 -0
- package/webpack.dev.config.js +9 -0
- package/webpack.prod.config.js +8 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { StatisticsData } from "../../src/interfaces";
|
|
2
|
+
|
|
3
|
+
export const testLibraryKey = "lyrasis-reads";
|
|
4
|
+
export const testLibraryName = "LYRASIS Reads";
|
|
5
|
+
export const noCollectionsLibraryKey = "unfunded-library";
|
|
6
|
+
export const noInventoryLibraryKey = "unfunded-library";
|
|
7
|
+
export const noPatronsLibraryKey = "unused-library";
|
|
8
|
+
export const statisticsApiResponseData: StatisticsData = {
|
|
9
|
+
collections: [
|
|
10
|
+
{
|
|
11
|
+
id: 7,
|
|
12
|
+
name: "TEST Palace Marketplace",
|
|
13
|
+
inventory: {
|
|
14
|
+
titles: 7753,
|
|
15
|
+
availableTitles: 7750,
|
|
16
|
+
selfHostedTitles: 0,
|
|
17
|
+
openAccessTitles: 0,
|
|
18
|
+
licensedTitles: 7753,
|
|
19
|
+
unlimitedLicenseTitles: 0,
|
|
20
|
+
meteredLicenseTitles: 7753,
|
|
21
|
+
meteredLicensesOwned: 305725,
|
|
22
|
+
meteredLicensesAvailable: 75337,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 8,
|
|
27
|
+
name: "TEST OverDrive",
|
|
28
|
+
inventory: {
|
|
29
|
+
titles: 4441,
|
|
30
|
+
availableTitles: 4436,
|
|
31
|
+
selfHostedTitles: 0,
|
|
32
|
+
openAccessTitles: 0,
|
|
33
|
+
licensedTitles: 4441,
|
|
34
|
+
unlimitedLicenseTitles: 0,
|
|
35
|
+
meteredLicenseTitles: 4441,
|
|
36
|
+
meteredLicensesOwned: 4072997338,
|
|
37
|
+
meteredLicensesAvailable: 4072997325,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 9,
|
|
42
|
+
name: "New Bibliotheca Test Collection",
|
|
43
|
+
inventory: {
|
|
44
|
+
titles: 76,
|
|
45
|
+
availableTitles: 64,
|
|
46
|
+
selfHostedTitles: 0,
|
|
47
|
+
openAccessTitles: 0,
|
|
48
|
+
licensedTitles: 76,
|
|
49
|
+
unlimitedLicenseTitles: 0,
|
|
50
|
+
meteredLicenseTitles: 76,
|
|
51
|
+
meteredLicensesOwned: 85,
|
|
52
|
+
meteredLicensesAvailable: 72,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 14,
|
|
57
|
+
name: "New BiblioBoard Test",
|
|
58
|
+
inventory: {
|
|
59
|
+
titles: 13306,
|
|
60
|
+
availableTitles: 13306,
|
|
61
|
+
selfHostedTitles: 0,
|
|
62
|
+
openAccessTitles: 0,
|
|
63
|
+
licensedTitles: 13306,
|
|
64
|
+
unlimitedLicenseTitles: 0,
|
|
65
|
+
meteredLicenseTitles: 13306,
|
|
66
|
+
meteredLicensesOwned: 13306,
|
|
67
|
+
meteredLicensesAvailable: 13306,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 16,
|
|
72
|
+
name: "TEST Baker & Taylor",
|
|
73
|
+
inventory: {
|
|
74
|
+
titles: 146,
|
|
75
|
+
availableTitles: 134,
|
|
76
|
+
selfHostedTitles: 0,
|
|
77
|
+
openAccessTitles: 0,
|
|
78
|
+
licensedTitles: 146,
|
|
79
|
+
unlimitedLicenseTitles: 0,
|
|
80
|
+
meteredLicenseTitles: 146,
|
|
81
|
+
meteredLicensesOwned: 147,
|
|
82
|
+
meteredLicensesAvailable: 135,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: 17,
|
|
87
|
+
name: "A1QA Palace Marketplace",
|
|
88
|
+
inventory: {
|
|
89
|
+
titles: 7753,
|
|
90
|
+
availableTitles: 7750,
|
|
91
|
+
selfHostedTitles: 0,
|
|
92
|
+
openAccessTitles: 0,
|
|
93
|
+
licensedTitles: 7753,
|
|
94
|
+
unlimitedLicenseTitles: 0,
|
|
95
|
+
meteredLicenseTitles: 7753,
|
|
96
|
+
meteredLicensesOwned: 305730,
|
|
97
|
+
meteredLicensesAvailable: 75341,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 18,
|
|
102
|
+
name: "CALIFA Enki Test",
|
|
103
|
+
inventory: {
|
|
104
|
+
titles: 93239,
|
|
105
|
+
availableTitles: 91565,
|
|
106
|
+
selfHostedTitles: 0,
|
|
107
|
+
openAccessTitles: 0,
|
|
108
|
+
licensedTitles: 93239,
|
|
109
|
+
unlimitedLicenseTitles: 0,
|
|
110
|
+
meteredLicenseTitles: 93239,
|
|
111
|
+
meteredLicensesOwned: 7957965,
|
|
112
|
+
meteredLicensesAvailable: 7955952,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: 19,
|
|
117
|
+
name: "Palace Bookshelf",
|
|
118
|
+
inventory: {
|
|
119
|
+
titles: 7838,
|
|
120
|
+
availableTitles: 7838,
|
|
121
|
+
selfHostedTitles: 0,
|
|
122
|
+
openAccessTitles: 7838,
|
|
123
|
+
licensedTitles: 0,
|
|
124
|
+
unlimitedLicenseTitles: 0,
|
|
125
|
+
meteredLicenseTitles: 0,
|
|
126
|
+
meteredLicensesOwned: 0,
|
|
127
|
+
meteredLicensesAvailable: 0,
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: 20,
|
|
132
|
+
name: "Test ProQuest OPDS 2",
|
|
133
|
+
inventory: {
|
|
134
|
+
titles: 1575,
|
|
135
|
+
availableTitles: 1575,
|
|
136
|
+
selfHostedTitles: 0,
|
|
137
|
+
openAccessTitles: 0,
|
|
138
|
+
licensedTitles: 1575,
|
|
139
|
+
unlimitedLicenseTitles: 1575,
|
|
140
|
+
meteredLicenseTitles: 0,
|
|
141
|
+
meteredLicensesOwned: 0,
|
|
142
|
+
meteredLicensesAvailable: 0,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
libraries: [
|
|
147
|
+
{
|
|
148
|
+
key: "lyrasis-reads",
|
|
149
|
+
name: "LYRASIS Reads",
|
|
150
|
+
patronStatistics: {
|
|
151
|
+
total: 132,
|
|
152
|
+
withActiveLoan: 21,
|
|
153
|
+
withActiveLoanOrHold: 23,
|
|
154
|
+
loans: 87,
|
|
155
|
+
holds: 5,
|
|
156
|
+
},
|
|
157
|
+
inventorySummary: {
|
|
158
|
+
titles: 29119,
|
|
159
|
+
availableTitles: 29092,
|
|
160
|
+
selfHostedTitles: 145,
|
|
161
|
+
openAccessTitles: 7838,
|
|
162
|
+
licensedTitles: 21281,
|
|
163
|
+
unlimitedLicenseTitles: 623,
|
|
164
|
+
meteredLicenseTitles: 20658,
|
|
165
|
+
meteredLicensesOwned: 319263,
|
|
166
|
+
meteredLicensesAvailable: 88850,
|
|
167
|
+
},
|
|
168
|
+
collectionIds: [7, 9, 14, 16, 19],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
key: "announcements-test",
|
|
172
|
+
name: "Announcements Testing",
|
|
173
|
+
patronStatistics: {
|
|
174
|
+
total: 2,
|
|
175
|
+
withActiveLoan: 0,
|
|
176
|
+
withActiveLoanOrHold: 0,
|
|
177
|
+
loans: 0,
|
|
178
|
+
holds: 0,
|
|
179
|
+
},
|
|
180
|
+
inventorySummary: {
|
|
181
|
+
titles: 0,
|
|
182
|
+
availableTitles: 0,
|
|
183
|
+
selfHostedTitles: 0,
|
|
184
|
+
openAccessTitles: 0,
|
|
185
|
+
licensedTitles: 0,
|
|
186
|
+
unlimitedLicenseTitles: 0,
|
|
187
|
+
meteredLicenseTitles: 0,
|
|
188
|
+
meteredLicensesOwned: 0,
|
|
189
|
+
meteredLicensesAvailable: 0,
|
|
190
|
+
},
|
|
191
|
+
collectionIds: [],
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
key: "qa1223",
|
|
195
|
+
name: "Test Library for QA",
|
|
196
|
+
patronStatistics: {
|
|
197
|
+
total: 1,
|
|
198
|
+
withActiveLoan: 0,
|
|
199
|
+
withActiveLoanOrHold: 0,
|
|
200
|
+
loans: 0,
|
|
201
|
+
holds: 0,
|
|
202
|
+
},
|
|
203
|
+
inventorySummary: {
|
|
204
|
+
titles: 7753,
|
|
205
|
+
availableTitles: 7750,
|
|
206
|
+
selfHostedTitles: 0,
|
|
207
|
+
openAccessTitles: 0,
|
|
208
|
+
licensedTitles: 7753,
|
|
209
|
+
unlimitedLicenseTitles: 0,
|
|
210
|
+
meteredLicenseTitles: 7753,
|
|
211
|
+
meteredLicensesOwned: 305725,
|
|
212
|
+
meteredLicensesAvailable: 75337,
|
|
213
|
+
},
|
|
214
|
+
collectionIds: [7],
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
key: "od-test",
|
|
218
|
+
name: "Overdrive Integration Test",
|
|
219
|
+
patronStatistics: {
|
|
220
|
+
total: 3,
|
|
221
|
+
withActiveLoan: 0,
|
|
222
|
+
withActiveLoanOrHold: 0,
|
|
223
|
+
loans: 0,
|
|
224
|
+
holds: 0,
|
|
225
|
+
},
|
|
226
|
+
inventorySummary: {
|
|
227
|
+
titles: 4441,
|
|
228
|
+
availableTitles: 4436,
|
|
229
|
+
selfHostedTitles: 0,
|
|
230
|
+
openAccessTitles: 0,
|
|
231
|
+
licensedTitles: 4441,
|
|
232
|
+
unlimitedLicenseTitles: 0,
|
|
233
|
+
meteredLicenseTitles: 4441,
|
|
234
|
+
meteredLicensesOwned: 4072997338,
|
|
235
|
+
meteredLicensesAvailable: 4072997325,
|
|
236
|
+
},
|
|
237
|
+
collectionIds: [8],
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
key: "unused-library",
|
|
241
|
+
name: "The Unused Library",
|
|
242
|
+
patronStatistics: {
|
|
243
|
+
total: 0,
|
|
244
|
+
withActiveLoan: 0,
|
|
245
|
+
withActiveLoanOrHold: 0,
|
|
246
|
+
loans: 0,
|
|
247
|
+
holds: 0,
|
|
248
|
+
},
|
|
249
|
+
inventorySummary: {
|
|
250
|
+
titles: 33560,
|
|
251
|
+
availableTitles: 33528,
|
|
252
|
+
selfHostedTitles: 0,
|
|
253
|
+
openAccessTitles: 7838,
|
|
254
|
+
licensedTitles: 25722,
|
|
255
|
+
unlimitedLicenseTitles: 0,
|
|
256
|
+
meteredLicenseTitles: 25722,
|
|
257
|
+
meteredLicensesOwned: 4073316601,
|
|
258
|
+
meteredLicensesAvailable: 4073086175,
|
|
259
|
+
},
|
|
260
|
+
collectionIds: [7, 8, 9, 14, 16, 19],
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
key: "a1qa-test",
|
|
264
|
+
name: "A1QA Test Library",
|
|
265
|
+
patronStatistics: {
|
|
266
|
+
total: 7,
|
|
267
|
+
withActiveLoan: 0,
|
|
268
|
+
withActiveLoanOrHold: 0,
|
|
269
|
+
loans: 0,
|
|
270
|
+
holds: 0,
|
|
271
|
+
},
|
|
272
|
+
inventorySummary: {
|
|
273
|
+
titles: 107230,
|
|
274
|
+
availableTitles: 105524,
|
|
275
|
+
selfHostedTitles: 0,
|
|
276
|
+
openAccessTitles: 0,
|
|
277
|
+
licensedTitles: 107230,
|
|
278
|
+
unlimitedLicenseTitles: 1575,
|
|
279
|
+
meteredLicenseTitles: 105655,
|
|
280
|
+
meteredLicensesOwned: 4081261265,
|
|
281
|
+
meteredLicensesAvailable: 4081028825,
|
|
282
|
+
},
|
|
283
|
+
collectionIds: [8, 9, 16, 17, 18, 20],
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
key: "unfunded-library",
|
|
287
|
+
name: "The Unfunded Public Library",
|
|
288
|
+
patronStatistics: {
|
|
289
|
+
total: 0,
|
|
290
|
+
withActiveLoan: 0,
|
|
291
|
+
withActiveLoanOrHold: 0,
|
|
292
|
+
loans: 0,
|
|
293
|
+
holds: 0,
|
|
294
|
+
},
|
|
295
|
+
inventorySummary: {
|
|
296
|
+
titles: 0,
|
|
297
|
+
availableTitles: 0,
|
|
298
|
+
selfHostedTitles: 0,
|
|
299
|
+
openAccessTitles: 0,
|
|
300
|
+
licensedTitles: 0,
|
|
301
|
+
unlimitedLicenseTitles: 0,
|
|
302
|
+
meteredLicenseTitles: 0,
|
|
303
|
+
meteredLicensesOwned: 0,
|
|
304
|
+
meteredLicensesAvailable: 0,
|
|
305
|
+
},
|
|
306
|
+
collectionIds: [],
|
|
307
|
+
},
|
|
308
|
+
],
|
|
309
|
+
inventorySummary: {
|
|
310
|
+
titles: 136127,
|
|
311
|
+
availableTitles: 134418,
|
|
312
|
+
selfHostedTitles: 0,
|
|
313
|
+
openAccessTitles: 7838,
|
|
314
|
+
licensedTitles: 128289,
|
|
315
|
+
unlimitedLicenseTitles: 1575,
|
|
316
|
+
meteredLicenseTitles: 126714,
|
|
317
|
+
meteredLicensesOwned: 4081580296,
|
|
318
|
+
meteredLicensesAvailable: 4081117468,
|
|
319
|
+
},
|
|
320
|
+
patronSummary: {
|
|
321
|
+
total: 145,
|
|
322
|
+
withActiveLoan: 0,
|
|
323
|
+
withActiveLoanOrHold: 4,
|
|
324
|
+
loans: 0,
|
|
325
|
+
holds: 5,
|
|
326
|
+
},
|
|
327
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = "test-file-stub";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Nightwatch Tests
|
|
2
|
+
|
|
3
|
+
### Setup
|
|
4
|
+
|
|
5
|
+
To set up credentials for the tests to use, create a copy of `/tests/browser/globals.js.sample` as `/tests/browser/globals.js` and update the variables.
|
|
6
|
+
|
|
7
|
+
### Running Tests
|
|
8
|
+
|
|
9
|
+
Note: There are currently known bugs between Selenium and the Firefox test browser. The Nightwatch tests will currently not work when running `npm run test-firefox`. We recommend to only run tests in Chrome at the moment.
|
|
10
|
+
|
|
11
|
+
Run `npm run test-chrome` and `npm run test-firefox` to run tests in Chrome and Firefox, respectively. To run the tests on headless browsers of Chrome and Firefox together, run `npm run test-browser`.
|
|
12
|
+
|
|
13
|
+
### File Structure
|
|
14
|
+
|
|
15
|
+
Custom Nightwatch assertions can be found in `/tests/browser/assertions`. These extend the already available `.assert` and `.verify` assertions for any specific app related tests.
|
|
16
|
+
|
|
17
|
+
Custom Nightwatch commands can be found in `/tests/browser/commands`. These are reusable commands that we need the browser to execute often.
|
|
18
|
+
|
|
19
|
+
Page Objects can be found in `/tests/browser/pages`. They are a common end-to-end pattern used to wrap specific element selectors in pages found in an app.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asserts that no error exists in the DOM.
|
|
3
|
+
*
|
|
4
|
+
* ```
|
|
5
|
+
* this.demoTest = function (client) {
|
|
6
|
+
* browser.assert.noError();
|
|
7
|
+
* };
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* @method noError
|
|
11
|
+
* @param {string} [message] Optional log message to display in the output.
|
|
12
|
+
* If missing, one is displayed by default.
|
|
13
|
+
* @api assertion
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const util = require('util');
|
|
17
|
+
|
|
18
|
+
exports.assertion = function(msg) {
|
|
19
|
+
this.message = msg || util.format('Testing if no error is present.');
|
|
20
|
+
this.expected = 'not present';
|
|
21
|
+
|
|
22
|
+
this.pass = function(value) {
|
|
23
|
+
return value === null;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
this.value = function(result) {
|
|
27
|
+
let value = null;
|
|
28
|
+
if (result.value.length !== 0) {
|
|
29
|
+
value = 'present';
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
this.command = function(callback) {
|
|
35
|
+
return this.api.elements(this.client.locateStrategy, ".error", callback);
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var bookSelector = ".lane-books li:first-child a";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @method goHome
|
|
5
|
+
* @api command
|
|
6
|
+
* @description This custom command navigates the user to the home page.
|
|
7
|
+
*/
|
|
8
|
+
exports.command = function() {
|
|
9
|
+
return this
|
|
10
|
+
.url(this.globals.homeUrl)
|
|
11
|
+
.waitForElementVisible(bookSelector, 5000)
|
|
12
|
+
.verify.noError();
|
|
13
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @method signIn
|
|
3
|
+
* @param {string} username The login form username.
|
|
4
|
+
* @param {string} password The login form password.
|
|
5
|
+
* @api command
|
|
6
|
+
* @description This custom command uses the `login` page object to
|
|
7
|
+
* fill out the form.
|
|
8
|
+
*/
|
|
9
|
+
exports.command = function(username, password) {
|
|
10
|
+
const login = this.page.login();
|
|
11
|
+
|
|
12
|
+
return login
|
|
13
|
+
.navigate()
|
|
14
|
+
.waitForElementVisible("@username", 1000)
|
|
15
|
+
.setValue("@username", username)
|
|
16
|
+
.setValue("@password", password)
|
|
17
|
+
.click("@submit")
|
|
18
|
+
};
|