public static void Chutzpah(this ICakeContext context, Path testPath = null, ChutzpahSettings settings = null) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var runner = new ChutzpahRunner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); runner.Run(testPath, settings); }
public void ShouldBuildCommandWithTestFilePath([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any <FilePath>()).Returns(true); sut.Run((FilePath)"mytests.js"); processRunner.Received(1) .Start(Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == "mytests.js")); }
public void ShouldBuildEmptyCommand([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any <FilePath>()).Returns(true); sut.Run(); processRunner.Received(1) .Start(Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(p => p.Arguments.Render() == string.Empty)); }
public void ShouldSetWorkingDirectory([Frozen] ICakeEnvironment environment, [Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { environment.WorkingDirectory.Returns("/Working"); fileSystem.Exist(Arg.Any <FilePath>()).Returns(true); process.GetExitCode().Returns(0); sut.Run(); processRunner.Received(1) .Start(Arg.Any <FilePath>(), Arg.Is <ProcessSettings>(ps => ps.WorkingDirectory.FullPath == "/Working")); }
public void ShouldSetWorkingDirectory([Frozen] ICakeEnvironment environment, [Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { environment.WorkingDirectory.Returns("/Working"); fileSystem.Exist(Arg.Any<FilePath>()).Returns(true); process.GetExitCode().Returns(0); sut.Run(); processRunner.Received(1) .Start(Arg.Any<FilePath>(), Arg.Is<ProcessSettings>(ps => ps.WorkingDirectory.FullPath == "/Working")); }
public void ShouldOpenInNonDefaultBrowser([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any <FilePath>()).Returns(true); var settings = new ChutzpahSettings { LaunchInBrowser = ChutzpahBrowser.Chrome }; sut.Run(settings: settings); processRunner.Received(1) .Start(Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.Render() == "/openInBrowser Chrome")); }
public void ShouldUseProvidedSettings([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any <FilePath>()).Returns(true); var settings = new ChutzpahSettings { NoLogo = true, EnableCoverageCollection = true, FailOnError = true, ForceTeamCityMode = true, CoverageHtmlOutputFile = @"c:\temp\Code Coverage\coverage.html", LaunchInBrowser = ChutzpahBrowser.DefaultBrowser, JUnitXmlResultsFile = "junitResults.xml", LcovResultsFile = "lcov.dat", VisualStudioTrxResultsFile = "testResults.trx", NUnit2XmlResultsFile = "nunit.xml", MaxParallelism = 1, OutputRunningTestCount = false, PrintDebugInfo = true, Trace = true, ShowFailureReport = true, AdditionalTestPaths = { (FilePath)"testfile.js", (DirectoryPath)"tests" } }; sut.Run(settings: settings); processRunner.Received(1) .Start(Arg.Any <FilePath>(), Arg.Is <ProcessSettings>( p => p.Arguments.Render() == "/nologo /coverage /failOnError /teamcity /coveragehtml " + "\"c:/temp/Code Coverage/coverage.html\" /openInBrowser " + "/junit \"junitResults.xml\" /lcov \"lcov.dat\" /trx \"testResults.trx\" " + "/nunit2 \"nunit.xml\" /parallelism 1 /silent /debug /trace " + "/showFailureReport /path \"testfile.js\" /path \"tests\"")); }
public void ShouldBuildEmptyCommand([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any<FilePath>()).Returns(true); sut.Run(); processRunner.Received(1) .Start(Arg.Any<FilePath>(), Arg.Is<ProcessSettings>(p => p.Arguments.Render() == string.Empty)); }
public void ShouldOpenInNonDefaultBrowser([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any<FilePath>()).Returns(true); var settings = new ChutzpahSettings { LaunchInBrowser = ChutzpahBrowser.Chrome }; sut.Run(settings: settings); processRunner.Received(1) .Start(Arg.Any<FilePath>(), Arg.Is<ProcessSettings>( p => p.Arguments.Render() == "/openInBrowser Chrome")); }
public void ShouldUseProvidedSettings([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any<FilePath>()).Returns(true); var settings = new ChutzpahSettings { NoLogo = true, EnableCoverageCollection = true, FailOnError = true, ForceTeamCityMode = true, CoverageHtmlOutputFile = @"c:\temp\Code Coverage\coverage.html", LaunchInBrowser = ChutzpahBrowser.DefaultBrowser, JUnitXmlResultsFile = "junitResults.xml", LcovResultsFile = "lcov.dat", VisualStudioTrxResultsFile = "testResults.trx", NUnit2XmlResultsFile = "nunit.xml", MaxParallelism = 1, OutputRunningTestCount = false, PrintDebugInfo = true, Trace = true, ShowFailureReport = true, AdditionalTestPaths = { (FilePath)"testfile.js", (DirectoryPath)"tests" } }; sut.Run(settings: settings); processRunner.Received(1) .Start(Arg.Any<FilePath>(), Arg.Is<ProcessSettings>( p => p.Arguments.Render() == "/nologo /coverage /failOnError /teamcity /coveragehtml " + "\"c:/temp/Code Coverage/coverage.html\" /openInBrowser " + "/junit \"junitResults.xml\" /lcov \"lcov.dat\" /trx \"testResults.trx\" " + "/nunit2 \"nunit.xml\" /parallelism 1 /silent /debug /trace " + "/showFailureReport /path \"testfile.js\" /path \"tests\"")); }
public void ShouldBuildCommandWithTestFilePath([Frozen] IProcess process, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any<FilePath>()).Returns(true); sut.Run((FilePath)"mytests.js"); processRunner.Received(1) .Start(Arg.Any<FilePath>(), Arg.Is<ProcessSettings>(p => p.Arguments.Render() == "mytests.js")); }
public void ProcessRunnerShouldStartChutzpah([Frozen] ICakeEnvironment environment, [Frozen] IProcess process, [Frozen] IGlobber globber, [Frozen] IProcessRunner processRunner, [Frozen] IFileSystem fileSystem, ChutzpahRunner sut) { environment.WorkingDirectory.Returns("/Working"); globber.Match("./tools/**/chutzpah.console.exe") .Returns(new[] { (FilePath)"/Working/tools/chutzpah.console.exe" }); process.GetExitCode().Returns(0); fileSystem.Exist(Arg.Any<FilePath>()) .Returns(true); sut.Run(); processRunner.Received(1) .Start( Arg.Is<FilePath>(fp => fp.FullPath == "/Working/tools/chutzpah.console.exe"), Arg.Any<ProcessSettings>()); }