@@ -60,7 +60,7 @@ const addUserProbes = async (user: User) => {
60
60
} ;
61
61
62
62
const addProbeWithoutUser = async ( ) => {
63
- await sql ( 'gp_probes' ) . insert ( {
63
+ const probe = {
64
64
id : randomUUID ( ) ,
65
65
ip : '2.2.2.2' ,
66
66
uuid : '7bac0b3a-f808-48e1-8892-062bab3280f8' ,
@@ -80,7 +80,9 @@ const addProbeWithoutUser = async () => {
80
80
userId : null ,
81
81
version : '0.28.0' ,
82
82
hardwareDevice : null ,
83
- } ) ;
83
+ } ;
84
+ await sql ( 'gp_probes' ) . insert ( probe ) ;
85
+ return probe ;
84
86
} ;
85
87
86
88
const addProbeWithUser = async ( user2 : User ) => {
@@ -114,37 +116,67 @@ test('Probes page', async ({ page, user }) => {
114
116
await expect ( page . locator ( 'tr' ) ) . toHaveCount ( 3 ) ;
115
117
} ) ;
116
118
117
- test ( 'Probe adoption' , async ( { page } ) => {
118
- addProbeWithoutUser ( ) ;
119
+ test ( 'Software probe adoption (token) ' , async ( { page, user } ) => {
120
+ const probe = await addProbeWithoutUser ( ) ;
119
121
await page . goto ( '/probes' ) ;
120
122
await page . getByRole ( 'button' , { name : 'Adopt a probe' } ) . click ( ) ;
121
- await page . getByLabel ( 'Next step' ) . click ( ) ;
123
+ await page . getByRole ( 'button' , { name : 'Software probe' } ) . click ( ) ;
124
+ await page . getByRole ( 'button' , { name : 'Next step' } ) . click ( ) ;
125
+ await sql ( 'gp_probes' ) . where ( { id : probe . id } ) . update ( { userId : user . id , name : 'probe-bf-ouagadougou-01' } ) ;
126
+ await page . getByRole ( 'button' , { name : 'Finish' } ) . click ( ) ;
127
+ await expect ( page . getByText ( 'probe-bf-ouagadougou-01' ) . first ( ) ) . toBeVisible ( ) ;
128
+ } ) ;
129
+
130
+ test ( 'Software probe adoption (code)' , async ( { page } ) => {
131
+ await addProbeWithoutUser ( ) ;
132
+ await page . goto ( '/probes' ) ;
133
+ await page . getByRole ( 'button' , { name : 'Adopt a probe' } ) . click ( ) ;
134
+ await page . getByRole ( 'button' , { name : 'Software probe' } ) . click ( ) ;
135
+ await page . getByRole ( 'button' , { name : 'Next step' } ) . click ( ) ;
136
+ await page . waitForTimeout ( 10000 ) ;
137
+ await page . getByLabel ( 'Adopt the probe manually' ) . click ( ) ;
122
138
await page . getByPlaceholder ( 'Enter IP address of your probe' ) . fill ( '2.2.2.2' ) ;
123
139
await page . getByLabel ( 'Send adoption code' ) . click ( ) ;
124
140
await page . getByTestId ( 'adoption-code' ) . locator ( 'input' ) . first ( ) . fill ( '111111' ) ;
125
141
await page . getByLabel ( 'Verify the code' ) . click ( ) ;
126
- await page . getByLabel ( ' Finish') . click ( ) ;
142
+ await page . getByRole ( 'button' , { name : ' Finish' } ) . click ( ) ;
127
143
await expect ( page . getByText ( 'probe-bf-ouagadougou-01' ) . first ( ) ) . toBeVisible ( ) ;
128
144
} ) ;
129
145
130
- test ( 'Probe adoption fail if probe is already adopted ' , async ( { page, user2 } ) => {
131
- addProbeWithUser ( user2 ) ;
146
+ test ( 'Hardware probe adoption ' , async ( { page } ) => {
147
+ await addProbeWithoutUser ( ) ;
132
148
await page . goto ( '/probes' ) ;
133
149
await page . getByRole ( 'button' , { name : 'Adopt a probe' } ) . click ( ) ;
134
- await page . getByLabel ( 'Next step' ) . click ( ) ;
150
+ await page . getByRole ( 'button' , { name : 'Hardware probe' } ) . click ( ) ;
151
+ await page . getByRole ( 'button' , { name : 'Next step' } ) . click ( ) ;
135
152
await page . getByPlaceholder ( 'Enter IP address of your probe' ) . fill ( '2.2.2.2' ) ;
136
153
await page . getByLabel ( 'Send adoption code' ) . click ( ) ;
137
- await expect ( page . getByText ( 'The probe with this IP address is already adopted' ) . first ( ) ) . toBeVisible ( ) ;
154
+ await page . getByTestId ( 'adoption-code' ) . locator ( 'input' ) . first ( ) . fill ( '111111' ) ;
155
+ await page . getByLabel ( 'Verify the code' ) . click ( ) ;
156
+ await page . getByRole ( 'button' , { name : 'Finish' } ) . click ( ) ;
157
+ await expect ( page . getByText ( 'probe-bf-ouagadougou-01' ) . first ( ) ) . toBeVisible ( ) ;
138
158
} ) ;
139
159
140
160
test ( 'Probe adoption of non-synced probe' , async ( { page } ) => {
141
161
await page . goto ( '/probes' ) ;
142
162
await page . getByRole ( 'button' , { name : 'Adopt a probe' } ) . click ( ) ;
143
- await page . getByLabel ( 'Next step' ) . click ( ) ;
163
+ await page . getByRole ( 'button' , { name : 'Hardware probe' } ) . click ( ) ;
164
+ await page . getByRole ( 'button' , { name : 'Next step' } ) . click ( ) ;
144
165
await page . getByPlaceholder ( 'Enter IP address of your probe' ) . fill ( '2.2.2.2' ) ;
145
166
await page . getByLabel ( 'Send adoption code' ) . click ( ) ;
146
167
await page . getByTestId ( 'adoption-code' ) . locator ( 'input' ) . first ( ) . fill ( '111111' ) ;
147
168
await page . getByLabel ( 'Verify the code' ) . click ( ) ;
148
- await page . getByLabel ( ' Finish') . click ( ) ;
169
+ await page . getByRole ( 'button' , { name : ' Finish' } ) . click ( ) ;
149
170
await expect ( page . getByText ( 'probe-bf-ouagadougou-01' ) . first ( ) ) . toBeVisible ( ) ;
150
171
} ) ;
172
+
173
+ test ( 'Probe adoption by code fails if probe is already adopted' , async ( { page, user2 } ) => {
174
+ await addProbeWithUser ( user2 ) ;
175
+ await page . goto ( '/probes' ) ;
176
+ await page . getByRole ( 'button' , { name : 'Adopt a probe' } ) . click ( ) ;
177
+ await page . getByRole ( 'button' , { name : 'Hardware probe' } ) . click ( ) ;
178
+ await page . getByRole ( 'button' , { name : 'Next step' } ) . click ( ) ;
179
+ await page . getByPlaceholder ( 'Enter IP address of your probe' ) . fill ( '2.2.2.2' ) ;
180
+ await page . getByLabel ( 'Send adoption code' ) . click ( ) ;
181
+ await expect ( page . getByText ( 'The probe with this IP address is already adopted' ) . first ( ) ) . toBeVisible ( ) ;
182
+ } ) ;
0 commit comments