@@ -169,9 +169,9 @@ async function createVariable(page, variableName) {
169
169
await page . waitForLoadState ( 'load' ) ;
170
170
await page . locator ( '#create' ) . click ( ) ;
171
171
await page . waitForLoadState ( 'load' ) ;
172
- await page . waitForTimeout ( 4000 ) ;
172
+ await page . waitForTimeout ( 4250 ) ;
173
173
await page . locator ( '#create' ) . click ( ) ;
174
- await page . waitForTimeout ( 250 ) ;
174
+ await page . waitForTimeout ( 350 ) ;
175
175
176
176
// Adding name
177
177
await page . waitForTimeout ( 250 ) ;
@@ -328,13 +328,82 @@ async function findEditedVariable(page, variable) {
328
328
) ;
329
329
}
330
330
331
+ async function checkConstraint ( page ) {
332
+ await page . waitForLoadState ( 'load' ) ;
333
+ await page . locator ( '#create' ) . click ( ) ;
334
+ await page . waitForLoadState ( 'load' ) ;
335
+ await page . waitForTimeout ( 4250 ) ;
336
+ await page . locator ( '#create' ) . click ( ) ;
337
+ await page . waitForTimeout ( 300 ) ;
338
+
339
+ try {
340
+ // Click on the dropdown
341
+ await page . locator ( '#constraints' ) . click ( ) ;
342
+ await page . waitForTimeout ( 500 ) ;
343
+
344
+ let option ;
345
+ try {
346
+ // Check if the "TestConstraint" exists
347
+ await page . waitForSelector ( '.list-item .item:text("Test Constraint")' , { visible : true , timeout : 500 } ) ;
348
+
349
+
350
+ } catch ( error ) {
351
+
352
+ // Perform actions if the element is not found
353
+ // Click on the SVG element
354
+ await page . waitForSelector ( 'div.hidden:nth-child(4)' , { visible : true } ) ;
355
+
356
+ // Click on the div element
357
+ await page . click ( 'div.hidden:nth-child(4)' ) ;
358
+ await page . waitForSelector ( 'text="Manage Constraints"' , { visible : true } ) ;
359
+
360
+ // Click on the div element
361
+ await page . click ( 'text="Manage Constraints"' ) ;
362
+ await page . waitForLoadState ( 'load' ) ;
363
+ await page . waitForTimeout ( 1000 ) ;
364
+ await page . locator ( '#create' ) . click ( ) ;
365
+ await page . waitForTimeout ( 1000 ) ;
366
+ await page . locator ( 'input[id=name]' ) . fill ( "Test Constraint" ) ;
367
+ await page . locator ( 'textarea[id=description]' ) . fill ( 'Test constraint' ) ;
368
+ await page . selectOption ( '#constraintTypes' , 'Domain' ) ;
369
+ await page . click ( 'div.cm-activeLine.cm-line' ) ;
370
+ await page . waitForTimeout ( 1000 ) ;
371
+ await page . keyboard . type ( 'Hello Testing Domain' ) ;
372
+ await page . waitForTimeout ( 1000 ) ;
373
+ await page . click ( '#save' ) ;
374
+ await page . waitForSelector ( '.toast[data-testid=toast] .text-base' ) ;
375
+ const toast = await page . locator ( '.toast[data-testid=toast]' ) ;
376
+ await expect ( await toast . locator ( '.text-base' ) ) . toHaveText ( `Constraint "Test Constraint" saved.` ) ;
377
+ await toast . locator ( 'button' ) . click ( ) ;
378
+ console . log ( "Element 'Test Constraint' is added." ) ;
379
+ }
380
+
381
+ } catch ( error ) {
382
+ console . log ( "An error occurred:" , error ) ;
383
+ }
384
+ }
385
+
386
+ async function navVariableManage ( page ) {
387
+
388
+ // Click on the div element
389
+ await page . click ( 'div.hidden:nth-child(4)' ) ;
390
+ await page . waitForSelector ( 'text="Manage Variable Templates"' , { visible : true } ) ;
391
+
392
+ // Click on the div element
393
+ await page . click ( 'text="Manage Variable Templates"' ) ;
394
+ }
395
+
396
+
331
397
332
398
module . exports = {
333
399
checkVariables,
334
400
deleteVariable,
335
401
createVariable,
336
402
findVariable,
337
403
editVariable,
338
- findEditedVariable
404
+ findEditedVariable,
405
+ navVariableManage,
406
+ checkConstraint
407
+
339
408
} ;
340
409
0 commit comments