Esempio n. 1
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);
        }
Esempio n. 2
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();
        }
Esempio n. 3
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();
        }
Esempio n. 4
0
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            CategoryBuilder.BuildCategory(modelBuilder);
            OrderBuilder.BuildOrder(modelBuilder);
            OrderLineBuilder.BuildOrderLine(modelBuilder);
            CartBuilder.BuildCart(modelBuilder);
            ProductBuilder.BuildProduct(modelBuilder);
            UserProfileBuilder.BuildUserProfile(modelBuilder);
            CartLineBuilder.BuildCartLine(modelBuilder);

            base.OnModelCreating(modelBuilder);
        }
Esempio n. 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();
        }
Esempio n. 6
0
        public void InitialCompositeRoles()
        {
            var orderLine = new OrderLineBuilder(this.Session).Build();

            var order = new OrderBuilder(this.Session)
                        .WithOrderLine(orderLine)
                        .Build();

            this.Session.Derive();

            Assert.True(order.ExistCurrentVersion);
            Assert.True(order.ExistAllVersions);
            Assert.Equal(1, order.AllVersions.Count);

            var version = order.CurrentVersion;

            Assert.False(version.ExistAmount);
            Assert.False(version.ExistOrderState);
            Assert.Equal(1, version.OrderLines.Count);
            Assert.Equal(orderLine, version.OrderLines[0]);
        }
Esempio n. 7
0
            public void OrderLineBuilder_Should_Build_OrderLine_If_The_String_Passed_Is_In_The_Correct_Form()
            {
                //ARRANGE
                const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                const string nums  = "0123456789";

                var numofnamelength   = rnd.Next(20);
                var numofpieceslength = rnd.Next(1, 3);

                OrderLineBuilder orderLineBuilder = new OrderLineBuilder();

                var name       = new string(Enumerable.Repeat(chars, numofnamelength).Select(s => s[rnd.Next(s.Length)]).ToArray());
                var quantity   = new string(Enumerable.Repeat(nums, numofpieceslength).Select(s => s[rnd.Next(s.Length)]).ToArray());
                var teststring = $"{name}:{quantity}";

                //ACT
                var result = orderLineBuilder.BuildOrderLine(teststring);

                //ASSERT
                Assert.AreEqual("All good.", result.Message);
                Assert.AreEqual(true, result.Success);
                Assert.AreEqual(name, result.Entity.ProductName);
                Assert.AreEqual(Int32.Parse(quantity), result.Entity.Quantity);
            }