示例#1
0
        public void IfOrderLineIsNullStreamShouldNotBeWrittenTo()
        {
            HttpResponseBase response = new OutOfContextResponseBuilder().Build();

            _downloadProductService.WriteDownloadToResponse(response, new Order(), null);

            A.CallTo(() => _fileSystem.WriteToStream(A <string> ._, A <Stream> ._)).MustNotHaveHappened();
        }
示例#2
0
        public void IfAllChecksPassEcommerceResultShouldBeCorrectOrderline()
        {
            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.As <EcommerceDownloadResult>().OrderLine.Should().Be(orderLine);
        }
示例#3
0
        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();
        }
示例#4
0
        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();
        }
示例#5
0
        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();
        }