public void AddCustomerDetailsViewModel_SaveCustomerCommandCanNotExecute_WhenRatingIsNotNumeric()
        {
            var viewModel = new AddCustomerDetailsViewModel(_customerDataServiceMock.Object, _regionDataServiceMock.Object);
            var customerModel = new CustomerModel() { FirstName = "Test", LastName = "Test", Email = "Test", Rating = "Test", RegionId = 1 };

            Assert.IsFalse(viewModel.SaveCustomerCommand.CanExecute(customerModel));
        }
        public void AddCustomerDetailsViewModel_NotifyClosingEventHandlerIsRaise_WhenCloseCurrentView()
        {
            var viewModel = new AddCustomerDetailsViewModel(_customerDataServiceMock.Object, _regionDataServiceMock.Object);

            bool raise = false;

            viewModel.NotifyClosingEventHandler += (sender, e) =>
            {
                raise = true;
            };
            viewModel.CloseCurrentViewCommand.Execute(null);

            Assert.IsTrue(raise);
        }
 private void ShowAddCustomerView()
 {
     ViewModel = new AddCustomerDetailsViewModel();
     (ViewModel as AddCustomerDetailsViewModel).NotifyClosingEventHandler += ShowCustomerGridView;
 }
        public void AddCustomerDetailsViewModel_SaveCustomerCommandCallsCustomerDataServiceAddCustomer_WhenSuccessfully()
        {
            var viewModel = new AddCustomerDetailsViewModel(_customerDataServiceMock.Object, _regionDataServiceMock.Object);
            var customerModel = new CustomerModel() { FirstName = "Test", LastName = "Test", Email = "Test", Rating = "5", RegionId = 1 };

            viewModel.SaveCustomerCommand.Execute(customerModel);

            _customerDataServiceMock.Verify(repo => repo.AddCustomer(It.IsAny<Customer>()), Times.Once);
        }