Exemplo n.º 1
0
        public void Index_WhenAvailableSizesContainsItems_ShouldSetValueToItemValue()
        {
            FashionProduct          fashionProduct    = null;
            FashionVariant          fashionVariant    = null;
            ProductController       productController = null;
            ItemCollection <string> sizes             = null;
            ActionResult            actionResult      = null;

            // Setup
            {
                sizes = new ItemCollection <string>()
                {
                    "medium"
                };

                fashionProduct = CreateFashionProduct();
                fashionVariant = CreateFashionVariant("medium", "red");
                SetRelation(fashionProduct, fashionVariant);
                MockPrices();

                productController = CreateController();
            }

            // Execute
            {
                actionResult = productController.Index(fashionProduct, fashionVariant.Code);
            }

            // Assert
            {
                var model           = (FashionProductViewModel)((ViewResultBase)actionResult).Model;
                var expectedSizes   = String.Join(";", sizes);
                var modelSizeValues = String.Join(";", model.Sizes.Select(x => x.Value));

                Assert.AreEqual <string>(expectedSizes, modelSizeValues);
            }
        }
Exemplo n.º 2
0
        private static bool TryGetFashionVariantByColorAndSize(IEnumerable <FashionVariant> variations, string color, string size, out FashionVariant variation)
        {
            variation = variations.FirstOrDefault(x =>
                                                  (string.IsNullOrEmpty(color) || x.Color.Equals(color, StringComparison.OrdinalIgnoreCase)) &&
                                                  (string.IsNullOrEmpty(size) || x.Size.Equals(size, StringComparison.OrdinalIgnoreCase)));

            return(variation != null);
        }
Exemplo n.º 3
0
        private static bool TryGetFashionVariant(IEnumerable <FashionVariant> variations, string variationCode, out FashionVariant variation)
        {
            variation = !string.IsNullOrEmpty(variationCode) ?
                        variations.FirstOrDefault(x => x.Code == variationCode) :
                        variations.FirstOrDefault();

            return(variation != null);
        }
Exemplo n.º 4
0
 private static void SetSize(FashionVariant fashionVariant, string size)
 {
     fashionVariant.Size = size;
 }
Exemplo n.º 5
0
 private static void SetColor(FashionVariant fashionVariant, string color)
 {
     fashionVariant.Color = color;
 }
Exemplo n.º 6
0
 private IEnumerable <string> GetAvailableSizes(FashionProduct product, FashionVariant entry)
 {
     return(product != null?
            _catalogContentService.GetVariants <FashionVariant>(product).Where(x => x.Color.Equals(entry.Color, StringComparison.OrdinalIgnoreCase)).Select(x => x.Size)
                : Enumerable.Empty <string>());
 }