public void IfAllChecksPassReturnAnEcommerceResult() { var order = new Order(); var orderLine = new OrderLineBuilder().WithFileUrl("test-file-url").Build(); HttpResponseBase response = new OutOfContextResponseBuilder().Build(); A.CallTo(() => _fileSystem.Exists("test-file-url")).Returns(true); var writeDownloadToResponse = _downloadProductService.WriteDownloadToResponse(response, order, orderLine); writeDownloadToResponse.Should().BeOfType<EcommerceDownloadResult>(); }
public void IfAnyRuleErrorsStreamShouldNotBeWrittenTo() { var order = new Order(); var orderLine = new OrderLineBuilder().Build(); HttpResponseBase response = new OutOfContextResponseBuilder().Build(); SetRulesStatus(order, orderLine, false); _downloadProductService.WriteDownloadToResponse(response, order, orderLine); A.CallTo(() => _fileSystem.WriteToStream(A<string>._, A<Stream>._)).MustNotHaveHappened(); }
public void IfFileDoesNotExistStreamShouldNotBeWrittenTo() { var order = new Order(); var orderLine = new OrderLineBuilder().WithFileUrl("test-file-url").Build(); HttpResponseBase response = new OutOfContextResponseBuilder().Build(); A.CallTo(() => _fileSystem.Exists("test-file-url")).Returns(false); _downloadProductService.WriteDownloadToResponse(response, order, orderLine); A.CallTo(() => _fileSystem.WriteToStream(A<string>._, A<Stream>._)).MustNotHaveHappened(); }
public void IfAllChecksPassIncreaseTheDownloadCount() { var order = new Order(); var orderLine = new OrderLineBuilder().WithFileUrl("test-file-url").WithFileName("test-file-name").WithNumberOfDownloads(1).Build(); HttpResponseBase response = new OutOfContextResponseBuilder().Build(); A.CallTo(() => _fileSystem.Exists("test-file-url")).Returns(true); _downloadProductService.WriteDownloadToResponse(response, order, orderLine); orderLine.NumberOfDownloads.Should().Be(2); A.CallTo(() => _session.Update(orderLine)).MustHaveHappened(); }