test(downloads): make logging only show up on CI (#5732)

This commit is contained in:
Joel Einbinder 2021-03-05 14:39:28 -08:00 committed by GitHub
parent 976f35aaf7
commit 8ed49622a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,22 +45,28 @@ fixtures.persistentDownloadsContext.init(async ({ server, launchPersistent, test
res.setHeader('Content-Disposition', 'attachment; filename=file.txt'); res.setHeader('Content-Disposition', 'attachment; filename=file.txt');
res.end(`Hello world`); res.end(`Hello world`);
}); });
console.log('--- launching persistent context ---'); logOnCI('--- launching persistent context ---');
const { context, page } = await launchPersistent( const { context, page } = await launchPersistent(
{ {
downloadsPath: testInfo.outputPath(''), downloadsPath: testInfo.outputPath(''),
acceptDownloads: true acceptDownloads: true
} }
); );
console.log('--- setting content for the page ---'); logOnCI('--- setting content for the page ---');
await page.setContent(`<a href="${server.PREFIX}/download">download</a>`); await page.setContent(`<a href="${server.PREFIX}/download">download</a>`);
console.log('--- launching test ---'); logOnCI('--- launching test ---');
await test(context); await test(context);
console.log('--- closing context ---'); logOnCI('--- closing context ---');
await context.close(); await context.close();
console.log('--- DONE ---'); logOnCI('--- DONE ---');
}); });
function logOnCI(...args) {
if (!process.env.CI)
return;
console.log(...args);
}
const { it, expect } = fixtures.build(); const { it, expect } = fixtures.build();
it('should keep downloadsPath folder', async ({downloadsBrowser, testInfo, server}) => { it('should keep downloadsPath folder', async ({downloadsBrowser, testInfo, server}) => {
@ -104,49 +110,49 @@ it('should report downloads in downloadsPath folder', async ({downloadsBrowser,
}); });
it('should accept downloads in persistent context', async ({persistentDownloadsContext, testInfo, server}) => { it('should accept downloads in persistent context', async ({persistentDownloadsContext, testInfo, server}) => {
console.log('----- 1.1'); logOnCI('----- 1.1');
const page = persistentDownloadsContext.pages()[0]; const page = persistentDownloadsContext.pages()[0];
console.log('----- 1.2'); logOnCI('----- 1.2');
const [ download ] = await Promise.all([ const [ download ] = await Promise.all([
page.waitForEvent('download').then(d => { page.waitForEvent('download').then(d => {
console.log('----- 1.3'); logOnCI('----- 1.3');
return d; return d;
}), }),
page.click('a').then(d => { page.click('a').then(d => {
console.log('----- 1.4'); logOnCI('----- 1.4');
}), }),
]); ]);
console.log('----- 1.5'); logOnCI('----- 1.5');
expect(download.url()).toBe(`${server.PREFIX}/download`); expect(download.url()).toBe(`${server.PREFIX}/download`);
console.log('----- 1.6'); logOnCI('----- 1.6');
expect(download.suggestedFilename()).toBe(`file.txt`); expect(download.suggestedFilename()).toBe(`file.txt`);
console.log('----- 1.7'); logOnCI('----- 1.7');
const path = await download.path(); const path = await download.path();
console.log('----- 1.8'); logOnCI('----- 1.8');
expect(path.startsWith(testInfo.outputPath(''))).toBeTruthy(); expect(path.startsWith(testInfo.outputPath(''))).toBeTruthy();
console.log('----- 1.9'); logOnCI('----- 1.9');
}); });
it('should delete downloads when persistent context closes', async ({persistentDownloadsContext}) => { it('should delete downloads when persistent context closes', async ({persistentDownloadsContext}) => {
console.log('----- 2.1'); logOnCI('----- 2.1');
const page = persistentDownloadsContext.pages()[0]; const page = persistentDownloadsContext.pages()[0];
console.log('----- 2.2'); logOnCI('----- 2.2');
const [ download ] = await Promise.all([ const [ download ] = await Promise.all([
page.waitForEvent('download').then(d => { page.waitForEvent('download').then(d => {
console.log('----- 2.3'); logOnCI('----- 2.3');
return d; return d;
}), }),
page.click('a').then(() => { page.click('a').then(() => {
console.log('----- 2.4'); logOnCI('----- 2.4');
}), }),
]); ]);
console.log('----- 2.5'); logOnCI('----- 2.5');
const path = await download.path(); const path = await download.path();
console.log('----- 2.6'); logOnCI('----- 2.6');
expect(fs.existsSync(path)).toBeTruthy(); expect(fs.existsSync(path)).toBeTruthy();
console.log('----- 2.7'); logOnCI('----- 2.7');
await persistentDownloadsContext.close(); await persistentDownloadsContext.close();
console.log('----- 2.8'); logOnCI('----- 2.8');
expect(fs.existsSync(path)).toBeFalsy(); expect(fs.existsSync(path)).toBeFalsy();
console.log('----- 2.9'); logOnCI('----- 2.9');
}); });