Exemplo n.º 1
0
        private static void EditCustomer()
        {
            Console.WriteLine("Begin CustomerDetails for Edit View");

            var view = Proxy.GetValue(ShopsContainer.GetEntityView(_customerId, "Details", "EditCustomer", string.Empty));

            view.Should().NotBeNull();
            view.Properties.Should().NotBeEmpty();

            view.Action.Should().Be("EditCustomer");
            view.Properties.Should().NotBeEmpty();

            view.Properties.FirstOrDefault(p => p.Name.Equals("Language")).Value     = "fr-FR";
            view.Properties.FirstOrDefault(p => p.Name.Equals("FirstName")).Value    = "Jane";
            view.Properties.FirstOrDefault(p => p.Name.Equals("LastName")).Value     = "Doe";
            view.Properties.FirstOrDefault(p => p.Name.Equals("IncludedTags")).Value = "['First Tag', 'Second Tag']";

            var action = Proxy.DoCommand(ShopsContainer.DoAction(view));

            action.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase) ||
                                m.Code.Equals("validationerror", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();

            var customer = CustomersUX.GetCustomer(ShopsContainer, _customerId);

            customer.Should().NotBeNull();
            customer.UserName.Should().Be(_customerUserName);
            customer.Tags.Count.Should().Be(2);
            customer.Components.OfType <CustomerDetailsComponent>().Should().NotBeEmpty();
            customer.Components.OfType <CustomerDetailsComponent>().FirstOrDefault().View.ChildViews.Should().NotBeEmpty();
            customer.Components.OfType <CustomerDetailsComponent>().FirstOrDefault().View.ChildViews.FirstOrDefault().Should().BeOfType <EntityView>();
            var details = customer.Components.OfType <CustomerDetailsComponent>().FirstOrDefault().View.ChildViews.FirstOrDefault() as EntityView;

            details.Properties.Should().NotBeEmpty();
        }
        private static Customer ValidateCustomer(ShopperContext context, string customerId)
        {
            var customer = CustomersUX.GetCustomer(context.ShopsContainer(), customerId);

            customer.Should().NotBeNull();

            customer.Components.OfType <EntitlementsComponent>().Any().Should().BeTrue();
            var entitlementsComponent = customer.Components.OfType <EntitlementsComponent>().FirstOrDefault();

            entitlementsComponent.Should().NotBeNull();
            entitlementsComponent?.Entitlements.Should().NotBeEmpty();
            entitlementsComponent?.Entitlements.All(e => !string.IsNullOrEmpty(e.EntityTarget)).Should().BeTrue();

            return(customer);
        }