@@ -46,12 +46,18 @@ async function run(test) {
46
46
test . permissions || [ "normandyAddonStudy" ] ,
47
47
test . isPrivileged
48
48
) ;
49
+ const promiseValidation = test . validationScript
50
+ ? test . validationScript ( extension )
51
+ : Promise . resolve ( ) ;
52
+
49
53
await extension . startup ( ) ;
54
+
55
+ await promiseValidation ;
56
+
50
57
if ( test . doneSignal ) {
51
58
await extension . awaitFinish ( test . doneSignal ) ;
52
- } else if ( test . validationScript ) {
53
- await test . validationScript ( extension ) ;
54
59
}
60
+
55
61
await extension . unload ( ) ;
56
62
}
57
63
@@ -188,12 +194,14 @@ add_task(async function test_onUnenroll_works() {
188
194
const testWrapper = AddonStudies . withStudies ( [ study ] ) ;
189
195
const test = testWrapper ( async ( ) => {
190
196
await run ( {
191
- backgroundScript : async ( ) => {
197
+ backgroundScript : ( ) => {
192
198
browser . normandyAddonStudy . onUnenroll . addListener ( reason => {
193
199
browser . test . sendMessage ( "unenrollReason" , reason ) ;
194
200
} ) ;
201
+ browser . test . sendMessage ( "bgpageReady" ) ;
195
202
} ,
196
203
validationScript : async extension => {
204
+ await extension . awaitMessage ( "bgpageReady" ) ;
197
205
await AddonStudies . markAsEnded ( study , "test" ) ;
198
206
const unenrollReason = await extension . awaitMessage ( "unenrollReason" ) ;
199
207
equal ( unenrollReason , "test" , "Unenroll listener should be called." ) ;
0 commit comments