From e847a2a72bf57765c73b19af1bc64c40bf609fb2 Mon Sep 17 00:00:00 2001 From: Matt Hughes Date: Fri, 12 Jul 2024 13:47:13 -0600 Subject: [PATCH] . t extracted class Co-Authored-By: Llewellyn Falco <10874+isidore@users.noreply.github.com> --- .../Reporting/Reporters/multiReporterTests.ts | 124 +++++++++--------- 1 file changed, 64 insertions(+), 60 deletions(-) diff --git a/test/Reporting/Reporters/multiReporterTests.ts b/test/Reporting/Reporters/multiReporterTests.ts index a7babc5a..86a3a937 100644 --- a/test/Reporting/Reporters/multiReporterTests.ts +++ b/test/Reporting/Reporters/multiReporterTests.ts @@ -1,73 +1,77 @@ +import {Reporter} from "../../../lib/Core/Reporter"; + var approvals = require("../../../lib/Approvals"); var expect = require("chai").expect; +class ExceptionThrowingReporter implements Reporter { + + public name: string; + + constructor(name: string) { + this.name = "temp-test-reporter - " + name; + } + + canReportOn(/*file*/) { + return true; + } + + report(/*approved, received*/) { + throw new Error( + "This is an error message for reporter: " + this.name, + ); + } +} + describe("multiReporter", function () { - it("should use a multiple reporter", function () { - var MultiReporter = approvals.reporters.MultiReporter; - var MyCustomReporter = function () { - var wasReporterUsed = false; - return { - canReportOn: function (/*file*/) { - return true; - }, - report: function (/*approved, received*/) { - wasReporterUsed = true; - }, - getWasReporterUsed: function () { - return wasReporterUsed; - }, - name: "temp-test-reporter", - }; - }; + it("should use a multiple reporter", function () { + var MultiReporter = approvals.reporters.MultiReporter; + var MyCustomReporter = function () { + var wasReporterUsed = false; + return { + canReportOn: function (/*file*/) { + return true; + }, + report: function (/*approved, received*/) { + wasReporterUsed = true; + }, + getWasReporterUsed: function () { + return wasReporterUsed; + }, + name: "temp-test-reporter", + }; + }; - var r1 = new MyCustomReporter(); - var r2 = new MyCustomReporter(); + var r1 = new MyCustomReporter(); + var r2 = new MyCustomReporter(); - var multiReporter = new MultiReporter([r1, r2]); + var multiReporter = new MultiReporter([r1, r2]); - multiReporter.report("asdf", "bsdf"); + multiReporter.report("asdf", "bsdf"); - expect(r1.getWasReporterUsed()).to.equal(true); - expect(r2.getWasReporterUsed()).to.equal(true); - }); + expect(r1.getWasReporterUsed()).to.equal(true); + expect(r2.getWasReporterUsed()).to.equal(true); + }); - it("It should error propertly", function () { - var MultiReporter = approvals.reporters.MultiReporter; - var MyCustomReporter = function (name) { - var wasReporterUsed = false; - return { - canReportOn: function (/*file*/) { - return true; - }, - report: function (/*approved, received*/) { - throw new Error( - "This is an error message for reporter: " + this.name, - ); - }, - getWasReporterUsed: function () { - return wasReporterUsed; - }, - name: "temp-test-reporter - " + name, - }; - }; + it("It should error propertly", function () { + var MultiReporter = approvals.reporters.MultiReporter; - var r1 = new MyCustomReporter("reporter 1"); - var r2 = new MyCustomReporter("reporter 2"); + var r1 = new ExceptionThrowingReporter("reporter 1"); + var r2 = new ExceptionThrowingReporter("reporter 2"); - var multiReporter = new MultiReporter([r1, r2]); + var multiReporter = new MultiReporter([r1, r2]); - try { - multiReporter.report("asdf", "bsdf"); - } catch (error: any) { - approvals.verify( - __dirname, - "It_should_error_properly", - error.toString(), - { - appendEOL: true, - failOnLineEndingDifferences: false, - }, - ); - } - }); + try { + multiReporter.report("asdf", "bsdf"); + } catch (error: any) { + approvals.verify( + __dirname, + "It_should_error_properly", + error.toString(), + { + appendEOL: true, + failOnLineEndingDifferences: false, + }, + ); + } + }); });