1+ const {
2+ SELECTOR_DISABLED ,
3+ SELECTOR_ANNOTATIONS_LOADED ,
4+ SELECTOR_ANNNOTATION_MODE_BACKGROUND ,
5+ SELECTOR_ANNOTATION_BUTTON_DRAW ,
6+ SELECTOR_ANNOTATION_BUTTON_DRAW_UNDO ,
7+ SELECTOR_ANNOTATION_BUTTON_DRAW_REDO ,
8+ SELECTOR_ANNOTATION_BUTTON_DRAW_POST ,
9+ SELECTOR_ANNOTATION_BUTTON_DRAW_CANCEL ,
10+ SELECTOR_ANNOTATION_LAYER_DRAW_IN_PROGRESS ,
11+ SELECTOR_ANNOTATION_DRAWING_DIALOG ,
12+ SELECTOR_ADD_DRAWING_BTN ,
13+ SELECTOR_DELETE_DRAWING_BTN
14+ } = require ( '../helpers/constants' ) ;
15+
16+ const { draw } = require ( '../helpers/mouseEvents' ) ;
17+
18+ Feature ( 'Draw Annotation Sanity' ) ;
19+
20+ Before ( ( I ) => {
21+ I . amOnPage ( '/' ) ;
22+ } ) ;
23+
24+ Scenario ( 'Can enter/exit drawing mode properly @desktop @enabled' , ( I ) => {
25+ I . waitForVisible ( SELECTOR_ANNOTATIONS_LOADED ) ;
26+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
27+
28+ I . say ( 'Enter draw annotation mode' ) ;
29+ I . click ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
30+ I . waitForVisible ( '.bp-notification' ) ;
31+ I . waitForVisible ( SELECTOR_ANNNOTATION_MODE_BACKGROUND ) ;
32+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW_POST ) ;
33+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW_CANCEL ) ;
34+
35+ I . say ( 'Undo/redo buttons should be disabled' ) ;
36+ I . waitForVisible ( `${ SELECTOR_ANNOTATION_BUTTON_DRAW_UNDO } ${ SELECTOR_DISABLED } ` ) ;
37+ I . waitForVisible ( `${ SELECTOR_ANNOTATION_BUTTON_DRAW_REDO } ${ SELECTOR_DISABLED } ` ) ;
38+
39+ I . say ( 'Exit draw annotations mode' ) ;
40+ I . click ( SELECTOR_ANNOTATION_BUTTON_DRAW_CANCEL ) ;
41+ I . dontSeeElement ( SELECTOR_ANNNOTATION_MODE_BACKGROUND ) ;
42+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
43+ } ) ;
44+
45+ Scenario ( 'Cancel a new drawing annotation @desktop @enabled' , ( I ) => {
46+ I . waitForVisible ( SELECTOR_ANNOTATIONS_LOADED ) ;
47+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
48+
49+ I . say ( 'Enter draw annotation mode' ) ;
50+ I . click ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
51+ I . click ( '.textLayer' ) ;
52+
53+ draw ( I , '.textLayer' ) ;
54+ I . waitForVisible ( SELECTOR_ANNOTATION_LAYER_DRAW_IN_PROGRESS ) ;
55+ I . waitForVisible ( SELECTOR_ANNOTATION_DRAWING_DIALOG ) ;
56+
57+ I . say ( 'Undo/redo buttons should be disabled' ) ;
58+ I . waitForEnabled ( SELECTOR_ANNOTATION_BUTTON_DRAW_UNDO ) ;
59+ I . waitForVisible ( `${ SELECTOR_ANNOTATION_BUTTON_DRAW_REDO } ${ SELECTOR_DISABLED } ` ) ;
60+
61+ I . say ( 'Cancel drawing' ) ;
62+ I . click ( SELECTOR_DELETE_DRAWING_BTN ) ;
63+ I . waitForInvisible ( SELECTOR_ANNOTATION_DRAWING_DIALOG ) ;
64+ } ) ;
65+
66+ Scenario ( 'Create a drawing annotation @desktop @enabled' , ( I ) => {
67+ I . waitForVisible ( SELECTOR_ANNOTATIONS_LOADED ) ;
68+ I . waitForVisible ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
69+
70+ I . say ( 'Enter draw annotation mode' ) ;
71+ I . click ( SELECTOR_ANNOTATION_BUTTON_DRAW ) ;
72+ I . click ( '.textLayer' ) ;
73+
74+ draw ( I , '.textLayer' ) ;
75+ I . waitForVisible ( SELECTOR_ANNOTATION_LAYER_DRAW_IN_PROGRESS ) ;
76+ I . waitForVisible ( SELECTOR_ANNOTATION_DRAWING_DIALOG ) ;
77+
78+ I . say ( 'Undo/redo buttons should be disabled' ) ;
79+ I . waitForEnabled ( SELECTOR_ANNOTATION_BUTTON_DRAW_UNDO ) ;
80+ I . waitForVisible ( `${ SELECTOR_ANNOTATION_BUTTON_DRAW_REDO } ${ SELECTOR_DISABLED } ` ) ;
81+
82+ I . say ( 'Save drawing' ) ;
83+ I . click ( SELECTOR_ADD_DRAWING_BTN ) ;
84+ I . waitForInvisible ( SELECTOR_ANNOTATION_DRAWING_DIALOG ) ;
85+ } ) ;
0 commit comments