Exemple #1
0
 protected MrCMSTest()
 {
     Kernel.Load(new TestContextModule());
     Kernel.Bind <IEventContext>().ToMethod(context => _eventContext);
     MrCMSKernel.OverrideKernel(Kernel);
     CurrentRequestData.SiteSettings = new SiteSettings();
 }
Exemple #2
0
        public void ImportProductVariantPriceBreakService_ImportVariantPriceBreaks_ShouldCallProductVariantServiceAddPriceBreak()
        {
            var mockingKernel = new MockingKernel();
            var session       = A.Fake <ISession>();

            mockingKernel.Bind <ISession>().ToMethod(context => session).InSingletonScope();
            MrCMSKernel.OverrideKernel(mockingKernel);

            var productVariantDTO = new ProductVariantImportDataTransferObject
            {
                PriceBreaks = new Dictionary <int, decimal>()
                {
                    { 10, 299 }
                }
            };
            var productVariant = new ProductVariant();

            var priceBreaks = _importProductUrlHistoryService.ImportVariantPriceBreaks(productVariantDTO, productVariant);

            priceBreaks.Should().HaveCount(1);
            var priceBreak = priceBreaks.ToList()[0];

            priceBreak.Price.Should().Be(299);
            priceBreak.Quantity.Should().Be(10);
            priceBreak.ProductVariant.Should().Be(productVariant);
        }
        public void PrepareForSyncAmazonListingService_UpdateAmazonListing_ShouldReturnAmazonListingType()
        {
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());

            var product        = new Product();
            var productVariant = new ProductVariant()
            {
                Product = product, SKU = "S1", Barcode = ""
            };
            var model = new AmazonListing()
            {
                ProductVariant = productVariant, AmazonListingGroup = new AmazonListingGroup()
                {
                    FulfillmentChannel = AmazonFulfillmentChannel.MFN
                }
            };

            A.CallTo(() => _productVariantService.GetProductVariantBySKU(model.ProductVariant.SKU)).Returns(productVariant);

            var results = _prepareForSyncAmazonListingService.UpdateAmazonListing(model);

            results.Should().BeOfType <AmazonListing>();
        }
        public void PrepareForSyncAmazonListingService_InitAmazonListingFromProductVariant_ShouldCallSave()
        {
            var item = new Currency()
            {
                Code = "GBP", Id = 1
            };

            Session.Transact(session => session.Save(item));

            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());
            mockingKernel.Bind <EcommerceSettings>().ToMethod(context => new EcommerceSettings()
            {
                CurrencyId = 1
            });

            var product = new Product()
            {
                BrandPage = new Brand()
                {
                    Name = "B"
                }
            };
            var productVariant = new ProductVariant()
            {
                Product                = product,
                SKU                    = "S1",
                BasePrice              = 1,
                StockRemaining         = 2,
                Name                   = "P",
                ManufacturerPartNumber = "MPN1",
                Barcode                = ""
            };
            var amazonListingGroup = new AmazonListingGroup()
            {
                Id = 1,
                FulfillmentChannel = AmazonFulfillmentChannel.MFN
            };
            var model = new AmazonListing()
            {
                ProductVariant        = productVariant,
                StandardProductId     = "1P",
                StandardProductIDType = StandardProductIDType.EAN,
                AmazonListingGroup    = amazonListingGroup
            };

            A.CallTo(() => _amazonListingGroupService.Get(amazonListingGroup.Id)).Returns(amazonListingGroup);

            A.CallTo(() => _productVariantService.GetProductVariantBySKU(model.ProductVariant.SKU)).Returns(productVariant);

            var results = _prepareForSyncAmazonListingService.InitAmazonListingFromProductVariant(model, model.ProductVariant.SKU, amazonListingGroup.Id);

            A.CallTo(() => _amazonListingGroupService.Save(amazonListingGroup)).MustHaveHappened();
        }
        public void PrepareForSyncAmazonListingService_InitAmazonListingFromProductVariant_ShouldReturnAmazonListingType()
        {
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());

            var model = new AmazonListing();

            var results = _prepareForSyncAmazonListingService.InitAmazonListingFromProductVariant(model, "S1", 1);

            results.Should().BeOfType <AmazonListing>();
        }
        public DefaultFormRendererTests()
        {
            _formCollection = new FormCollection();
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            _elementRendererManager    = A.Fake <IElementRendererManager>();
            _labelRenderer             = A.Fake <ILabelRenderer>();
            _validationMessageRenderer = A.Fake <IValidationMessaageRenderer>();
            _submittedMessageRenderer  = A.Fake <ISubmittedMessageRenderer>();
            _siteSettings        = new SiteSettings();
            _defaultFormRenderer = new DefaultFormRenderer(_elementRendererManager, _labelRenderer,
                                                           _validationMessageRenderer, _submittedMessageRenderer, _siteSettings);
        }
Exemple #7
0
        public void AmazonGenerateFeedService_GetProductPrice_ShouldReturnPriceType()
        {
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());

            var model = new AmazonListing()
            {
                SellerSKU = "S1"
            };
            var results = _amazonGenerateFeedService.GetProductPrice(model);

            results.Should().BeOfType <Price>();
        }
        public void BulkShippingUpdateValidationService_ValidateBusinessLogic_CallsAllIoCRegisteredRulesOnAllOrders()
        {
            var mockingKernel   = new MockingKernel();
            var validationRules =
                Enumerable.Range(1, 10).Select(i => A.Fake <IBulkShippingUpdateValidationRule>()).ToList();

            validationRules.ForEach(rule => mockingKernel.Bind <IBulkShippingUpdateValidationRule>()
                                    .ToMethod(context => rule));
            MrCMSKernel.OverrideKernel(mockingKernel);

            var items = Enumerable.Range(1, 10).Select(i => new BulkShippingUpdateDataTransferObject()).ToList();

            _bulkShippingUpdateValidationService.ValidateBusinessLogic(items);

            validationRules.ForEach(
                rule =>
                EnumerableHelper.ForEach(items, product => A.CallTo(() => rule.GetErrors(product)).MustHaveHappened()));
        }
Exemple #9
0
        public void AmazonGenerateFeedService_GetProductPrice_ShouldSetValues()
        {
            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());

            var listing = new AmazonListing()
            {
                SellerSKU = "S1",
                Price     = 1
            };
            var results = _amazonGenerateFeedService.GetProductPrice(listing);

            results.As <Price>().StandardPrice.Value.Should().Be(listing.Price);
            results.As <Price>().StandardPrice.Currency.Should().Be(BaseCurrencyCodeWithDefault.USD);
            results.As <Price>().SKU.Should().Be(listing.SellerSKU);
        }
Exemple #10
0
        public void ImportDocumentsValidationService_ValidateBusinessLogic_CallsAllIoCRegisteredRulesOnAllDocuments()
        {
            var mockingKernel = new MockingKernel();
            List <IDocumentImportValidationRule> documentImportValidationRules =
                Enumerable.Range(1, 10).Select(i => A.Fake <IDocumentImportValidationRule>()).ToList();

            documentImportValidationRules.ForEach(rule => mockingKernel.Bind <IDocumentImportValidationRule>()
                                                  .ToMethod(context => rule));
            MrCMSKernel.OverrideKernel(mockingKernel);

            List <DocumentImportDTO> documents = Enumerable.Range(1, 10).Select(i => new DocumentImportDTO()).ToList();

            _importDocumentsValidationService.ValidateBusinessLogic(documents);

            documentImportValidationRules.ForEach(
                rule =>
                EnumerableHelper.ForEach(documents,
                                         document => A.CallTo(() => rule.GetErrors(document, documents)).MustHaveHappened()));
        }
Exemple #11
0
        public void ImportProductsValidationService_ValidateBusinessLogic_CallsAllIoCRegisteredRulesOnAllProducts()
        {
            var mockingKernel = new MockingKernel();
            var productImportValidationRules =
                Enumerable.Range(1, 10).Select(i => A.Fake <IProductImportValidationRule>()).ToList();
            var productVariantImportValidationRule = A.Fake <IProductVariantImportValidationRule>();

            productImportValidationRules.ForEach(rule => mockingKernel.Bind <IProductImportValidationRule>()
                                                 .ToMethod(context => rule));
            mockingKernel.Bind <IProductVariantImportValidationRule>()
            .ToMethod(context => productVariantImportValidationRule)
            .InSingletonScope();
            MrCMSKernel.OverrideKernel(mockingKernel);

            var products = Enumerable.Range(1, 10).Select(i => new ProductImportDataTransferObject()).ToList();

            _importProductsValidationService.ValidateBusinessLogic(products);

            productImportValidationRules.ForEach(
                rule =>
                EnumerableHelper.ForEach(products, product => A.CallTo(() => rule.GetErrors(product)).MustHaveHappened()));
        }
Exemple #12
0
 public NinjectScopingTests()
 {
     _kernel = new StandardKernel();
     MrCMSKernel.OverrideKernel(_kernel);
     _kernel.Bind <ITestInterface>().ToMethod(context => A.Fake <ITestInterface>()).InThreadScope();
 }
        public void PrepareForSyncAmazonListingService_UpdateAmazonListing_ShouldSetValues()
        {
            var item = new Currency()
            {
                Code = "GBP", Id = 1
            };

            Session.Transact(session => session.Save(item));

            var mockingKernel = new MockingKernel();

            MrCMSKernel.OverrideKernel(mockingKernel);
            mockingKernel.Bind <ISession>().ToMethod(context => A.Fake <ISession>());
            mockingKernel.Bind <EcommerceSettings>().ToMethod(context => new EcommerceSettings()
            {
                CurrencyId = 1
            });

            var product = new Product()
            {
                BrandPage = new Brand()
                {
                    Name = "B"
                }
            };
            var productVariant = new ProductVariant()
            {
                Product                = product,
                SKU                    = "S1",
                BasePrice              = 1,
                StockRemaining         = 2,
                Name                   = "P",
                ManufacturerPartNumber = "MPN1",
                Barcode                = ""
            };
            var model = new AmazonListing()
            {
                ProductVariant        = productVariant,
                StandardProductId     = "1P",
                StandardProductIDType = StandardProductIDType.EAN,
                AmazonListingGroup    = new AmazonListingGroup()
                {
                    FulfillmentChannel = AmazonFulfillmentChannel.MFN
                }
            };

            A.CallTo(() => _productVariantService.GetProductVariantBySKU(model.ProductVariant.SKU)).Returns(productVariant);

            var results = _prepareForSyncAmazonListingService.UpdateAmazonListing(model);

            results.As <AmazonListing>().Condition.Should().Be(ConditionType.New);
            results.As <AmazonListing>().Currency.Should().Be("GBP");
            results.As <AmazonListing>().Manafacturer.Should().Be("B");
            results.As <AmazonListing>().Brand.Should().Be("B");
            results.As <AmazonListing>().MfrPartNumber.Should().Be("MPN1");
            results.As <AmazonListing>().Price.Should().Be(1);
            results.As <AmazonListing>().Quantity.Should().Be(2);
            results.As <AmazonListing>().Title.Should().Be("P");
            results.As <AmazonListing>().StandardProductIDType.Should().Be(_amazonSellerSettings.BarcodeIsOfType);
            results.As <AmazonListing>().StandardProductId.Should().Be(model.StandardProductId);
            results.As <AmazonListing>().FulfillmentChannel.Should().Be(AmazonFulfillmentChannel.MFN);
        }