blob: d89564e9bb473e69dcb8fcd353f80159601e6bdd [file] [log] [blame] [edit]
import { expect } from 'chai';
import {
loadCachedTestBed,
takeScreenshot,
TestBed,
} from '../../../puppeteer-tests/util';
describe('blamelist-panel-sk', () => {
let testBed: TestBed;
before(async () => {
testBed = await loadCachedTestBed();
});
beforeEach(async () => {
await testBed.page.goto(testBed.baseUrl);
});
describe('screenshots', async () => {
it('should show a single commit', async () => {
const blamelistPanelSk = await testBed.page.$('#single_commit');
await takeScreenshot(blamelistPanelSk!, 'gold', 'blamelist-panel-sk');
expect(await testBed.page.$$('#single_commit tr')).to.have.length(1);
});
it('should show a single CL commit', async () => {
const blamelistPanelSk = await testBed.page.$('#single_cl_commit');
await takeScreenshot(
blamelistPanelSk!,
'gold',
'blamelist-panel-sk_cl-commit'
);
expect(await testBed.page.$$('#single_cl_commit tr')).to.have.length(1);
});
it('should show some commits', async () => {
const blamelistPanelSk = await testBed.page.$('#some_commits');
await takeScreenshot(
blamelistPanelSk!,
'gold',
'blamelist-panel-sk_some-commits'
);
expect(await testBed.page.$$('#some_commits tr')).to.have.length(3);
});
it('should truncate many commits', async () => {
const blamelistPanelSk = await testBed.page.$('#many_commits');
await takeScreenshot(
blamelistPanelSk!,
'gold',
'blamelist-panel-sk_many-commits'
);
expect(await testBed.page.$$('#many_commits tr')).to.have.length(15); // maxCommitsToDisplay
});
it('should show non-standard commits', async () => {
const blamelistPanelSk = await testBed.page.$('#non_standard_commits');
await takeScreenshot(
blamelistPanelSk!,
'gold',
'blamelist-panel-sk_non-standard-commits'
);
expect(await testBed.page.$$('#non_standard_commits tr')).to.have.length(
2
);
});
});
describe('urls', async () => {
it('should have a different URL for CL commits', async () => {
const masterBranchURL = await testBed.page.$eval(
'#single_commit table a',
(e: Element) => (e as HTMLAnchorElement).href
);
expect(masterBranchURL).to.equal(
'https://github.com/example/example/commit/dded3c7506efc5635e60ffb7a908cbe8f1f028f1'
);
const changeListURL = await testBed.page.$eval(
'#single_cl_commit table a',
(e: Element) => (e as HTMLAnchorElement).href
);
expect(changeListURL).to.equal(
'https://skia-review.googlesource.com/12345'
);
});
it('should have a link to the full source blamelist', async () => {
const manyCommitsURL = await testBed.page.$eval(
'#many_commits .full_range a',
(e: Element) => (e as HTMLAnchorElement).href
);
expect(manyCommitsURL).to.equal(
'https://github.com/example/example/compare/667edf14ad72966ec36aa6cd705b98cb7d7eee28...dded3c7506efc5635e60ffb7a908cbe8f1f028f1'
);
const someCommitsURL = await testBed.page.$eval(
'#some_commits .full_range a',
(e: Element) => (e as HTMLAnchorElement).href
);
expect(someCommitsURL).to.equal(
'https://github.com/example/example/compare/9145f784f3261f227846e5b08dc2691a888b113c...dded3c7506efc5635e60ffb7a908cbe8f1f028f1'
);
});
});
});