public void TestCustomerTypes_ShouldReturnAllCustomerTypesAsString()
 {
     var model = new CustomerViewModel();
     var customerTypes = model.CustomerTypes.ToArray();
     Assert.AreEqual("Person", customerTypes[0]);
     Assert.AreEqual("Company", customerTypes[1]);
 }
 public void TestConstructor_ShouldCreateCustomer()
 {
     var model = new CustomerViewModel();
     Assert.AreEqual(String.Empty, model.FirstName);
     Assert.AreEqual(String.Empty, model.LastName);
     Assert.AreEqual(String.Empty, model.Email);
 }
        public void TestSaveCommand_SaveCustomer_WhenExecute()
        {
            var mock = new Mock<ICustomerService>();
            var model = new CustomerViewModel(mock.Object);
            model.SaveCommand.Execute(null);

            mock.Verify(s => s.SaveCustmer(model.Customer));
        }
        public void CustomerSelectedEvent_ShouldHaveSelectedCustomerInEventArgs()
        {
            var model = new AllCustomersViewModel();
            Customer selectedCustomer = null;
            model.CustomerSelected += (sender, args) => selectedCustomer = args.Item;

            var customerViewModel = new CustomerViewModel(new Customer());
            model.SelectCustomerCommand.Execute(customerViewModel);

            Assert.AreEqual(customerViewModel.Customer, selectedCustomer);
        }
 public void TestDisplayName_UseOnlyFirstName_IfCustomerIsCompany()
 {
     var model = new CustomerViewModel(new Customer { FirstName = "a", LastName = "b", Type = CustomerType.Company});
     var displayName = model.DisplayName;
     Assert.AreEqual("a", displayName);
 }
 public void TestDisplayName_CombineFirstNameAndLastName_IfCustomerIsPerson()
 {
     var model = new CustomerViewModel(new Customer { FirstName = "a", LastName = "b", Type = CustomerType.Person });
     var displayName = model.DisplayName;
     Assert.AreEqual("a b", displayName);
 }
 public void TestConstructor_ShouldCreateSaveCommand()
 {
     var model = new CustomerViewModel();
     Assert.IsNotNull(model.SaveCommand);
 }