-
Notifications
You must be signed in to change notification settings - Fork 41
/
job-summary-creator.spec.ts
61 lines (53 loc) · 2.32 KB
/
job-summary-creator.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import 'reflect-metadata';
import { IMock, Mock } from 'typemoq';
import { Logger, ReportMarkdownConvertor } from '@accessibility-insights-action/shared';
import { CombinedReportParameters } from 'accessibility-insights-report';
import { JobSummaryCreator } from './job-summary-creator';
import { GHTaskConfig } from '../task-config/gh-task-config';
describe(JobSummaryCreator, () => {
let testSubject: JobSummaryCreator;
let reportMarkdownConvertorMock: IMock<ReportMarkdownConvertor>;
let loggerMock: IMock<Logger>;
let taskConfigMock: IMock<GHTaskConfig>;
const markdownContent = 'test markdown content';
const combinedReportResult = { serviceName: 'combinedReportResult' } as CombinedReportParameters;
beforeEach(() => {
taskConfigMock = Mock.ofType<GHTaskConfig>();
reportMarkdownConvertorMock = Mock.ofType(ReportMarkdownConvertor);
loggerMock = Mock.ofType(Logger);
testSubject = new JobSummaryCreator(taskConfigMock.object, reportMarkdownConvertorMock.object, loggerMock.object);
});
afterEach(() => {
reportMarkdownConvertorMock.verifyAll();
loggerMock.verifyAll();
});
describe('start', () => {
it('does nothing', async () => {
await expect(testSubject.start()).resolves.toBeUndefined();
});
});
describe('didScanSucceed', () => {
it('returns true by default', async () => {
await expect(testSubject.didScanSucceed()).resolves.toBe(true);
});
it('returns false after failRun() is called', async () => {
await testSubject.failRun();
await expect(testSubject.didScanSucceed()).resolves.toBe(false);
});
});
describe('completeRun', () => {
it('converts to markdown and writes the job summary', async () => {
reportMarkdownConvertorMock
.setup((a) => a.convert(combinedReportResult))
.returns(() => markdownContent)
.verifiable();
taskConfigMock
.setup((a) => a.writeJobSummary(markdownContent))
.returns(() => Promise.resolve())
.verifiable();
await testSubject.completeRun(combinedReportResult);
});
});
});