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); }