|
1 | 1 | import coverage, { ExampleCall, IOptions } from "./coverage"; |
2 | 2 | import { OpenrpcDocument } from "@open-rpc/meta-schema"; |
3 | 3 | import EmptyReporter from "./reporters/emptyReporter"; |
| 4 | +import ConsoleReporter from "./reporters/console"; |
4 | 5 |
|
5 | 6 | const mockSchema = { |
6 | 7 | openrpc: "1.0.0", |
@@ -254,5 +255,41 @@ describe("coverage", () => { |
254 | 255 | await coverage(options); |
255 | 256 | expect(spy).toHaveBeenCalledTimes(12); |
256 | 257 | }); |
| 258 | + it("can handle multiple reporters", async () => { |
| 259 | + const reporter = new EmptyReporter(); |
| 260 | + const reporter2 = new EmptyReporter(); |
| 261 | + const transport = () => Promise.resolve({}); |
| 262 | + const openrpcDocument = mockSchema; |
| 263 | + console.log(mockSchema); |
| 264 | + |
| 265 | + const onBeginSpy = jest.spyOn(reporter, "onBegin"); |
| 266 | + const onTestBeginSpy = jest.spyOn(reporter, "onTestBegin"); |
| 267 | + const onTestEndSpy = jest.spyOn(reporter, "onTestEnd"); |
| 268 | + const onEndSpy = jest.spyOn(reporter, "onEnd"); |
| 269 | + |
| 270 | + const onBeginSpy2 = jest.spyOn(reporter2, "onBegin"); |
| 271 | + const onTestBeginSpy2 = jest.spyOn(reporter2, "onTestBegin"); |
| 272 | + const onTestEndSpy2 = jest.spyOn(reporter2, "onTestEnd"); |
| 273 | + const onEndSpy2 = jest.spyOn(reporter2, "onEnd"); |
| 274 | + |
| 275 | + const options = { |
| 276 | + reporters: [reporter, reporter2], |
| 277 | + transport, |
| 278 | + openrpcDocument, |
| 279 | + skip: [], |
| 280 | + only: [], |
| 281 | + }; |
| 282 | + await coverage(options); |
| 283 | + |
| 284 | + expect(onBeginSpy).toHaveBeenCalledTimes(1); |
| 285 | + expect(onTestBeginSpy).toHaveBeenCalledTimes(12); |
| 286 | + expect(onTestEndSpy).toHaveBeenCalledTimes(12); |
| 287 | + expect(onEndSpy).toHaveBeenCalledTimes(1); |
| 288 | + |
| 289 | + expect(onBeginSpy2).toHaveBeenCalledTimes(1); |
| 290 | + expect(onTestBeginSpy2).toHaveBeenCalledTimes(12); |
| 291 | + expect(onTestEndSpy2).toHaveBeenCalledTimes(12); |
| 292 | + expect(onEndSpy2).toHaveBeenCalledTimes(1); |
| 293 | + }) |
257 | 294 | }); |
258 | 295 | }); |
0 commit comments