Пример #1
0
        private CheckoutService CreateCheckoutService(ProcessedCart cart)
        {
            var mockedLookupService = new Mock <ILookupService>();
            var mockedImageService  = new Mock <IImageService>();

            mockedLookupService.Setup(a => a.GetLookupDisplayNamesAsync(It.IsAny <GetLookupDisplayNamesParam>())).ReturnsAsync(
                new Dictionary <string, string> {
                { "Cash", "TestDisplayName" }
            });

            mockedImageService.Setup(a => a.GetImageUrlsAsync(It.IsAny <IEnumerable <LineItem> >())).ReturnsAsync(new List <ProductMainImage>());

            _container.Use(mockedImageService);
            _container.Use(mockedLookupService);

            var mockedDamProvider = new Mock <IDamProvider>();

            mockedDamProvider.Setup(x => x.GetProductMainImagesAsync(It.IsAny <GetProductMainImagesParam>()))
            .ReturnsAsync(new List <ProductMainImage>());

            _container.Use(mockedDamProvider);

            var mockedAddressRepository = new Mock <IAddressRepository>();
            var address = new Address()
            {
                PropertyBag    = new PropertyBag(),
                FirstName      = GetRandom.String(5),
                LastName       = GetRandom.String(5),
                AddressName    = GetRandom.String(5),
                Line2          = GetRandom.String(5),
                Line1          = GetRandom.String(5),
                CountryCode    = GetRandom.String(3),
                City           = GetRandom.String(5),
                PostalCode     = GetRandom.String(5),
                PhoneNumber    = GetRandom.String(5),
                RegionCode     = GetRandom.String(5),
                Email          = GetRandom.String(5),
                PhoneExtension = GetRandom.String(5),
            };

            mockedAddressRepository.Setup(x => x.GetAddressByIdAsync(It.IsAny <Guid>()))
            .Returns((Guid id) =>
            {
                var result = address;
                result.Id  = id;
                return(Task.FromResult(result));
            });
            _container.Use(mockedAddressRepository);

            _container.Use <ILocalizationProvider>(LocalizationProviderFactory.Create());
            _container.Use <IViewModelMapper>(ViewModelMapper);
            _container.Use <ICartRepository>(new CartRepositoryUpdateCartMock {
                CurrentCart = cart
            });
            _container.Use <IComposerJsonSerializer>(new ComposerJsonSerializerMock(MetadataRegistry.Object, ViewModelMapper));
            var cartViewModelFactory = _container.CreateInstance <CartViewModelFactory>();

            _container.Use <ICartViewModelFactory>(cartViewModelFactory);
            return(_container.CreateInstance <CheckoutService>());
        }
Пример #2
0
 public void SetUp()
 {
     Container = new AutoMocker();
     Container.Use(ViewModelMapperFactory.Create());
     Container.Use(LocalizationProviderFactory.Create());
     Container.Use(CartViewModelFactoryMock.Create());
 }
        public void SetUp()
        {
            Container = new AutoMocker();

            Container.Use(_mapper);
            Container.Use(LocalizationProviderFactory.Create());
        }
        public void SetUp()
        {
            //Arrange
            _container = new AutoMocker();

            _container.Use(ViewModelMapperFactory.Create());
            _container.Use(CartRepositoryFactory.Create());
            _container.Use(CartViewModelFactoryMock.Create());
            _container.Use(CountryServiceMock.Create());
            _container.Use(LocalizationProviderFactory.Create());
        }
        public void WHEN_Passing_NULL_Culture_SHOULD_throw_ArgumentNullException()
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();

            // Act
            var exception = Assert.ThrowsAsync <ArgumentNullException>(() => localizationProvider.GetLocalizationTreeAsync(null));

            //Assert
            exception.ParamName.Should().BeSameAs("culture");
            exception.Message.Should().Contain("culture");
        }
        public async Task WHEN_Passing_Any_Culture_Resulting_LocalizationCategories_SHOULD_Not_Be_Null()
        {
            //Arrange
            var         localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
            CultureInfo culture = CultureInfo.GetCultureInfo("es-MX");

            //Act
            LocalizationTree tree = await localizationProvider.GetLocalizationTreeAsync(culture);

            //Assert
            tree.LocalizedCategories.Should().NotBeNull();
        }
        public async Task WHEN_Passing_Any_Culture_SHOULD_Contain_All_Categories(string expectedCategory)
        {
            //Arrange
            var         localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
            CultureInfo culture = CultureInfo.GetCultureInfo("es-US");

            //Act
            LocalizationTree tree = await localizationProvider.GetLocalizationTreeAsync(culture);

            //Assert
            tree.LocalizedCategories.Values.Should().Contain(c => c.CategoryName == expectedCategory);
            tree.LocalizedCategories.Should().ContainKey(expectedCategory.ToLowerInvariant(), "Because Javascript expect lowercase for case insentivity");
        }
Пример #8
0
        public void load_all()
        {
            write("localization1", new CultureInfo("en-US"),
                  @"
                a=us-a
                b=us-b
                f=us-f
            ");

            write("localization2", new CultureInfo("en-US"),
                  @"
                c=us-c
                d=us-d
            ");

            write("localization3", new CultureInfo("en-US"), @"
                e=us-e
            ");

            write("localization1", new CultureInfo("en-GB"),
                  @"
                a=gb-a
                b=gb-b
                f=gb-f
            ");

            write("localization2", new CultureInfo("en-GB"),
                  @"
                c=gb-c
                d=gb-d
            ");


            var source  = new XmlDirectoryLocalizationStorage(new[] { "localization1", "localization2", "localization3" });
            var factory = new LocalizationProviderFactory(source, null, new LocalizationCache());

            factory.LoadAll(x => { });

            factory.BuildProvider(new CultureInfo("en-US"))
            .GetTextForKey(StringToken.FromKeyString("a"))
            .ShouldBe("us-a");

            factory.BuildProvider(new CultureInfo("en-US"))
            .GetTextForKey(StringToken.FromKeyString("e"))
            .ShouldBe("us-e");

            factory.BuildProvider(new CultureInfo("en-GB"))
            .GetTextForKey(StringToken.FromKeyString("a"))
            .ShouldBe("gb-a");
        }
Пример #9
0
        public void put_it_all_together()
        {
            write("localization1", new CultureInfo("en-US"),
                  @"
                a=us-a
                b=us-b
                f=us-f
            ");

            write("localization2", new CultureInfo("en-US"),
                  @"
                c=us-c
                d=us-d
            ");

            write("localization3", new CultureInfo("en-US"), @"
                e=us-e
            ");

            write("localization1", new CultureInfo("en-GB"),
                  @"
                a=gb-a
                b=gb-b
                f=gb-f
            ");

            write("localization2", new CultureInfo("en-GB"),
                  @"
                c=gb-c
                d=gb-d
            ");


            var source  = new XmlDirectoryLocalizationStorage(new[] { "localization1", "localization2", "localization3" });
            var factory = new LocalizationProviderFactory(source, new LocalizationMissingHandler(source, new CultureInfo("en-US")), new LocalizationCache());

            factory.LoadAll(x => { });
            factory.ApplyToLocalizationManager();

            var token = StringToken.FromKeyString("a", "Wrong!");

            Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

            token.ToString().ShouldBe("us-a");

            Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");

            token.ToString().ShouldBe("gb-a");
        }
Пример #10
0
        public void WHEN_ValueContains_XHTML_SHOULD_use_SafeString_to_render_XHTML_asis(string categoryName, string keyName, string expectedResult)
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
            var helpers = new LocalizeHelper(localizationProvider);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);
            var template = Handlebars.Compile("{{localize CategoryName KeyName}}");

            //Act
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            //Assert
            result.Should().BeEquivalentTo(expectedResult);
        }
Пример #11
0
        public void SetUp()
        {
            Container = new AutoMocker();
            Container.Use(_mapper);
            var contextStub = new Mock <IComposerContext>();

            contextStub.SetupGet(mock => mock.ScopeCurrencyIso).Returns("CAD");
            Container.Use(contextStub);

            var currencyProvider = new Mock <ICurrencyProvider>();

            currencyProvider.Setup(c => c.GetCurrency()).Returns("CAD").Verifiable();
            Container.Use(currencyProvider);
            Container.Use(LocalizationProviderFactory.Create());
        }
        public async Task WHEN_Passing_A_Given_Culture_SHOULD_Contain_The_Most_Relevant_Value_For_Each_Keys(string cultureName, string category, string key, string expectedValue)
        {
            //Arrange
            var         localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
            CultureInfo culture = CultureInfo.GetCultureInfo(cultureName);

            //Act
            LocalizationTree tree = await localizationProvider.GetLocalizationTreeAsync(culture);

            //Assert
            tree.LocalizedCategories.Values.Should().Contain(c => c.CategoryName == category);
            tree.LocalizedCategories.Should().ContainKey(category.ToLowerInvariant(), "Because Javascript expect lowercase for case insentivity");
            tree.LocalizedCategories[category.ToLowerInvariant()].LocalizedValues.Should().ContainKey(key);
            tree.LocalizedCategories[category.ToLowerInvariant()].LocalizedValues[key].Should().BeEquivalentTo(expectedValue);
        }
        public void WHEN_Category_Key_Resolve_To_WhiteSpaces_SHOULD_Render_Primary_Template(string categoryName, string keyName)
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
            var helpers = new IfIsLocalizedBlockHelper(localizationProvider);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            var template = Handlebars.Compile("{{#if_localized CategoryName KeyName}}Primary{{else}}Inverse{{/if_localized}}");

            //Act
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            //Assert
            result.Should().Be("Primary");
        }
Пример #14
0
        public void WHEN_Localized_Value_Is_Not_Found_SHOULD_Render_Formatted_Key_Hint()
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateKnowsNothing();
            var helpers = new LocalizeHelper(localizationProvider.Object);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            string categoryName = GetRandom.String(32);
            string keyName      = GetRandom.String(32);
            var    template     = Handlebars.Compile("{{localize CategoryName KeyName}}");

            //Act
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            result.Should().Be(string.Format("[{0}.{1}]", categoryName, keyName), "Because this is the formatted value hint");
        }
        public void WHEN_Localized_Value_Is_Not_Null_Or_Empty_Found_SHOULD_Render_Primary_Template()
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll();
            var helpers = new IfIsLocalizedBlockHelper(localizationProvider.Object);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            string categoryName = GetRandom.String(32);
            string keyName      = GetRandom.String(32);

            var template = Handlebars.Compile("{{#if_localized CategoryName KeyName}}Primary{{else}}Inverse{{/if_localized}}");

            //Act
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            //Assert
            result.Should().Be("Primary");
        }
Пример #16
0
        public void WHEN_Localized_Value_Is_Found_SHOULD_Render_LocalizedValue()
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll();
            var helpers = new LocalizeHelper(localizationProvider.Object);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            string cultureName  = "en-CA";
            string categoryName = GetRandom.String(32);
            string keyName      = GetRandom.String(32);
            var    template     = Handlebars.Compile("{{localize CategoryName KeyName}}");

            //Act
            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(cultureName);
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            result.Should().Be(string.Format("{0}:{1}.{2}", cultureName, categoryName, keyName), "Because this is the mocked value");
        }
Пример #17
0
        public void WHEN_Using_The_Helper_The_Culture_From_The_UIThread_SHOULD_Be_Used(string expectedCultureName)
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll();
            var helpers = new LocalizeHelper(localizationProvider.Object);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            string categoryName = GetRandom.String(32);
            string keyName      = GetRandom.String(32);
            var    template     = Handlebars.Compile("{{localize CategoryName KeyName}}");

            //Act
            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(expectedCultureName);
            var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName });

            //Assert
            result.Should().Be(string.Format("{0}:{1}.{2}", expectedCultureName, categoryName, keyName), "Because no better solution was available at this time");
        }
Пример #18
0
        public void WHEN_Called_With_Variables_SHOULD_Render_Same_As_With_Literals()
        {
            //Arrange
            var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll();
            var helpers = new LocalizeHelper(localizationProvider.Object);

            Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction);

            string categoryName      = GetRandom.String(32);
            string keyName           = GetRandom.String(32);
            var    templateVariables = Handlebars.Compile("{{localize CategoryName KeyName}}");
            var    templateLiteral   = Handlebars.Compile("{{localize '" + categoryName + "' '" + keyName + "'}}");

            //Act
            var resultFromVariables = templateVariables.Invoke(new { CategoryName = categoryName, KeyName = keyName });
            var resultFromLiteral   = templateLiteral.Invoke(null);

            //Assert
            resultFromVariables.Should().BeEquivalentTo(resultFromLiteral);
        }
Пример #19
0
 public void SetUp()
 {
     _localizationProvider = LocalizationProviderFactory.CreateFromTestAssets();
 }
 public void Setup()
 {
     _container = new AutoMocker();
     _container.Use(LocalizationProviderFactory.CreateFromTestAssets());
     _container.Use(ComposerContextFactory.Create());
 }