1
+ describe ( 'CV' , ( ) => {
2
+ beforeEach ( ( ) => {
3
+ cy . viewport ( 2000 , 2000 )
4
+ cy . visit ( 'http://localhost:3000/' )
5
+ cy . get ( '#btn-cv' ) . click ( )
6
+ } )
7
+
8
+ it ( 'Open layout' , ( ) => {
9
+ cy . get ( '.d3Line' ) . children ( ) . should ( 'have.class' , 'd3Svg' )
10
+ cy . get ( '.d3Svg text.xLabel' ) . should ( 'have.text' , 'V vs Ref' )
11
+ cy . get ( '.d3Svg text.yLabel' ) . should ( 'have.text' , 'A' )
12
+ } )
13
+
14
+ function addMaxPeak ( view , offset = 0 ) {
15
+ cy . get ( '.btn-sv-bar-addpeak' ) . click ( )
16
+ cy . get ( '.d3Svg' )
17
+ . trigger ( 'click' , 1110 + offset , 480 , {
18
+ which : 1 ,
19
+ view : view ,
20
+ } )
21
+ }
22
+
23
+ function addMinPeak ( view , offset = 0 ) {
24
+ cy . get ( '.btn-sv-bar-addpeak' ) . click ( )
25
+ cy . get ( '.d3Svg' )
26
+ . trigger ( 'click' , 1050 + offset , 1480 , {
27
+ which : 1 ,
28
+ view : view ,
29
+ } )
30
+ }
31
+
32
+ function addPecker ( view , offset = 0 ) {
33
+ cy . get ( '.btn-sv-bar-addpecker' ) . click ( )
34
+ cy . get ( '.d3Svg' )
35
+ . trigger ( 'click' , 1350 + offset , 1480 , {
36
+ which : 1 ,
37
+ view : view ,
38
+ } )
39
+ }
40
+
41
+ function removeMaxPeak ( view , offset = 0 ) {
42
+ cy . get ( '.btn-sv-bar-rmpeak' ) . click ( )
43
+ cy . get ( '.d3Svg' )
44
+ . trigger ( 'click' , 1110 + offset , 450 , {
45
+ which : 1 ,
46
+ view : view ,
47
+ } )
48
+ }
49
+
50
+ function removeMinPeak ( view , offset = 0 ) {
51
+ cy . get ( '.btn-sv-bar-rmpeak' ) . click ( )
52
+ cy . get ( '.d3Svg' )
53
+ . trigger ( 'click' , 1050 + offset , 900 , {
54
+ which : 1 ,
55
+ view : view ,
56
+ } )
57
+ }
58
+
59
+ function removePecker ( view , offset = 0 ) {
60
+ cy . get ( '.btn-sv-bar-rmpecker' ) . click ( )
61
+ cy . get ( '.d3Svg' )
62
+ . trigger ( 'click' , 1350 + offset , 800 , {
63
+ which : 1 ,
64
+ view : view ,
65
+ } )
66
+ }
67
+
68
+ it ( 'Zoom in and zoom out on peaks' , ( ) => {
69
+ cy . get ( '[data-testid="GraphSelectionPanel"]' ) . click ( ) ;
70
+ cy . get ( '[data-testid="GraphSelectionPanel"] ul > li:nth-child(2)' ) . click ( ) ;
71
+
72
+ cy . window ( ) . then ( win => {
73
+ cy . get ( '.d3Svg' )
74
+ . trigger ( 'mousedown' , 1000 , 300 , {
75
+ which : 1 ,
76
+ view : win ,
77
+ } )
78
+ . trigger ( 'mousemove' , {
79
+ clientX : 1200 ,
80
+ clientY : 800 ,
81
+ force : true ,
82
+ } )
83
+ . trigger ( 'mouseup' , {
84
+ force : true ,
85
+ view : win ,
86
+ } ) ;
87
+
88
+ cy . wait ( 1000 )
89
+ cy . get ( '.btn-sv-bar-zoomreset' ) . click ( )
90
+ } ) ;
91
+
92
+ } )
93
+
94
+ it ( 'Add peak and pecker' , ( ) => {
95
+ cy . window ( ) . then ( win => {
96
+ cy . get ( '[data-testid="GraphSelectionPanel"]' ) . click ( ) ;
97
+ cy . get ( '[data-testid="GraphSelectionPanel"] ul > li:nth-child(2)' ) . click ( ) ;
98
+ cy . get ( '[data-testid="PanelVoltammetry"]' ) . click ( ) ;
99
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(2)' ) . click ( ) ;
100
+
101
+ addMaxPeak ( win ) ;
102
+
103
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(3)' ) . click ( ) ;
104
+
105
+ addMinPeak ( win ) ;
106
+
107
+ addPecker ( win ) ;
108
+ } ) ;
109
+ } )
110
+
111
+ it ( 'Remove peak and pecker' , ( ) => {
112
+ cy . window ( ) . then ( win => {
113
+ cy . get ( '[data-testid="GraphSelectionPanel"]' ) . click ( ) ;
114
+ cy . get ( '[data-testid="GraphSelectionPanel"] ul > li:nth-child(2)' ) . click ( ) ;
115
+ cy . get ( '[data-testid="PanelVoltammetry"]' ) . click ( ) ;
116
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(2)' ) . click ( ) ;
117
+
118
+ addMaxPeak ( win ) ;
119
+
120
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(3)' ) . click ( ) ;
121
+
122
+ addMinPeak ( win ) ;
123
+
124
+ addPecker ( win ) ;
125
+
126
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(2)' ) . click ( ) ;
127
+
128
+ removeMaxPeak ( win ) ;
129
+
130
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(3)' ) . click ( ) ;
131
+
132
+ removeMinPeak ( win ) ;
133
+
134
+ removePecker ( win ) ;
135
+ } ) ;
136
+ } )
137
+
138
+ it ( 'Add new list peak and pecker' , ( ) => {
139
+ cy . window ( ) . then ( win => {
140
+ cy . get ( '[data-testid="GraphSelectionPanel"]' ) . click ( ) ;
141
+ cy . get ( '[data-testid="GraphSelectionPanel"] ul > li:nth-child(2)' ) . click ( ) ;
142
+ cy . get ( '[data-testid="PanelVoltammetry"]' ) . click ( ) ;
143
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(2)' ) . click ( ) ;
144
+
145
+ addMaxPeak ( win ) ;
146
+
147
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(3)' ) . click ( ) ;
148
+
149
+ addMinPeak ( win ) ;
150
+
151
+ addPecker ( win ) ;
152
+
153
+
154
+ /* ==== Generated with Cypress Studio ==== */
155
+ cy . get ( '[data-testid="AddCircleOutlineIcon"] > path' ) . click ( ) ;
156
+ /* ==== End Cypress Studio ==== */
157
+
158
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(2) > td:nth-child(2)' ) . click ( ) ;
159
+
160
+ addMaxPeak ( win , 50 ) ;
161
+
162
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(2) > td:nth-child(3)' ) . click ( ) ;
163
+
164
+ addMinPeak ( win , 50 ) ;
165
+
166
+ addPecker ( win , 50 ) ;
167
+
168
+ /* ==== Generated with Cypress Studio ==== */
169
+ cy . get ( ':nth-child(1) > :nth-child(8) > [data-testid="RemoveCircleIcon"] > path' ) . click ( { force : true } ) ;
170
+ /* ==== End Cypress Studio ==== */
171
+ } ) ;
172
+ } )
173
+
174
+ it ( 'Set reference peaks' , ( ) => {
175
+ cy . window ( ) . then ( win => {
176
+ cy . get ( '[data-testid="GraphSelectionPanel"]' ) . click ( ) ;
177
+ cy . get ( '[data-testid="GraphSelectionPanel"] ul > li:nth-child(2)' ) . click ( ) ;
178
+ cy . get ( '[data-testid="PanelVoltammetry"]' ) . click ( ) ;
179
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(2)' ) . click ( ) ;
180
+
181
+ addMaxPeak ( win ) ;
182
+
183
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(1) > td:nth-child(3)' ) . click ( ) ;
184
+
185
+ addMinPeak ( win ) ;
186
+
187
+ addPecker ( win ) ;
188
+
189
+
190
+ /* ==== Generated with Cypress Studio ==== */
191
+ cy . get ( '[data-testid="AddCircleOutlineIcon"] > path' ) . click ( ) ;
192
+ /* ==== End Cypress Studio ==== */
193
+
194
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(2) > td:nth-child(2)' ) . click ( ) ;
195
+
196
+ addMaxPeak ( win , 50 ) ;
197
+
198
+ cy . get ( '[data-testid="PanelVoltammetry"] table > tbody > tr:nth-child(2) > td:nth-child(3)' ) . click ( ) ;
199
+
200
+ addMinPeak ( win , 50 ) ;
201
+
202
+ addPecker ( win , 50 ) ;
203
+
204
+ /* ==== Generated with Cypress Studio ==== */
205
+ cy . get ( ':nth-child(2) > :nth-child(1) > .MuiButtonBase-root > .PrivateSwitchBase-input' ) . check ( ) ;
206
+ cy . get ( '[data-testid="AddLocationOutlinedIcon"]' ) . click ( ) ;
207
+ cy . get ( '[data-testid="Pecker"] > .MuiFormControl-root > .MuiInputBase-root > #intg-factor-name' ) . click ( ) ;
208
+ cy . get ( '[data-testid="Pecker"] > .MuiFormControl-root > .MuiInputBase-root > #intg-factor-name' ) . click ( ) ;
209
+ cy . get ( '[data-testid="Pecker"] > .MuiFormControl-root > .MuiInputBase-root > #intg-factor-name' ) . click ( ) ;
210
+ cy . get ( '[data-testid="AddLocationOutlinedIcon"]' ) . click ( ) ;
211
+ cy . get ( ':nth-child(1) > :nth-child(1) > .MuiButtonBase-root > .PrivateSwitchBase-input' ) . check ( ) ;
212
+ cy . get ( '[data-testid="AddLocationOutlinedIcon"]' ) . click ( ) ;
213
+ /* ==== End Cypress Studio ==== */
214
+ } ) ;
215
+ } )
216
+
217
+ it ( 'Change axes labels' , ( ) => {
218
+ /* ==== Generated with Cypress Studio ==== */
219
+ cy . get ( '[aria-labelledby="select-x-axis-label"]' ) . click ( ) ;
220
+ cy . get ( '[data-value="Voltage in V"]' ) . click ( ) ;
221
+ cy . get ( '[aria-labelledby="select-y-axis-label"]' ) . click ( ) ;
222
+ cy . get ( '[data-value="Current in A"]' ) . click ( ) ;
223
+ // /* ==== End Cypress Studio ==== */
224
+
225
+ cy . get ( '.d3Svg text.xLabel' ) . should ( 'have.text' , 'Voltage in V' )
226
+ cy . get ( '.d3Svg text.yLabel' ) . should ( 'have.text' , 'Current in A' )
227
+
228
+ /* ==== Generated with Cypress Studio ==== */
229
+ cy . get ( '[aria-labelledby="select-x-axis-label"]' ) . click ( ) ;
230
+ cy . get ( '[data-value="Voltage vs Ref in V"]' ) . click ( ) ;
231
+ cy . get ( '[aria-labelledby="select-y-axis-label"]' ) . click ( ) ;
232
+ cy . get ( '[data-value="Current in mA"]' ) . click ( ) ;
233
+ // /* ==== End Cypress Studio ==== */
234
+
235
+ cy . get ( '.d3Svg text.xLabel' ) . should ( 'have.text' , 'Voltage vs Ref in V' )
236
+ cy . get ( '.d3Svg text.yLabel' ) . should ( 'have.text' , 'Current in mA' )
237
+
238
+ /* ==== Generated with Cypress Studio ==== */
239
+ cy . get ( '[aria-labelledby="select-x-axis-label"]' ) . click ( ) ;
240
+ cy . get ( '[data-value="Potential in V"]' ) . click ( ) ;
241
+ cy . get ( '[aria-labelledby="select-y-axis-label"]' ) . click ( ) ;
242
+ cy . get ( '[data-value="Current in A"]' ) . click ( ) ;
243
+ /* ==== End Cypress Studio ==== */
244
+
245
+ cy . get ( '.d3Svg text.xLabel' ) . should ( 'have.text' , 'Potential in V' )
246
+ cy . get ( '.d3Svg text.yLabel' ) . should ( 'have.text' , 'Current in A' )
247
+
248
+ // /* ==== Generated with Cypress Studio ==== */
249
+ cy . get ( '[aria-labelledby="select-x-axis-label"]' ) . click ( ) ;
250
+ cy . get ( '[data-value="Potential vs Ref in V"]' ) . click ( ) ;
251
+ cy . get ( '[aria-labelledby="select-y-axis-label"]' ) . click ( ) ;
252
+ cy . get ( '[data-value="Current in mA"]' ) . click ( ) ;
253
+ /* ==== End Cypress Studio ==== */
254
+
255
+ cy . get ( '.d3Svg text.xLabel' ) . should ( 'have.text' , 'Potential vs Ref in V' )
256
+ cy . get ( '.d3Svg text.yLabel' ) . should ( 'have.text' , 'Current in mA' )
257
+
258
+ } )
259
+ } )
0 commit comments