Пример #1
0
 void AssignValues(EnterCustomer.ViewModel enterCustomerViewModel)
 {
     enterCustomerViewModel.FirstName = SOME_TEXT;
     enterCustomerViewModel.LastName  = SOME_TEXT;
     enterCustomerViewModel.Phone     = SOME_PHONE_NUMBER;
     enterCustomerViewModel.Email     = SOME_EMAIL_ADDRESS;
 }
Пример #2
0
        public void cannot_create_quote_with_invalid_email()
        {
            // Setup
            Publish(Messages.REQUEST_SAVE_SERVICE, Mocks.SERVICE_1);

            EnterCustomer.ViewModel enterCustomerViewModel = null;

            Subscribe(Messages.REQUEST_VIEW_CUSTOMER_INFORMATION, obj =>
            {
                enterCustomerViewModel = CreateViewModel();
                AssignValues(enterCustomerViewModel);
                enterCustomerViewModel.Email            = "some_invalid_email";
                enterCustomerViewModel.SelectedServices = new List <Service>(obj as IEnumerable <Service>);
                enterCustomerViewModel.Load.Execute(null);
                enterCustomerViewModel.Generate.Execute(null);
            });

            var selectServicesViewModel = new CreateQuote.SelectServices.ViewModel();

            selectServicesViewModel.SelectedServices.Add(Mocks.SERVICE_1);
            selectServicesViewModel.Next.Execute(null);

            var calculateTransactionViewModel = new CalculateTransaction.ViewModel();

            calculateTransactionViewModel.Services.Add(Mocks.SERVICE_1);

            // Test
            calculateTransactionViewModel.AddService.Execute(Mocks.SERVICE_1);
            enterCustomerViewModel.Generate.Execute(null);

            // Verify
            var expected = !enterCustomerViewModel.Generate.CanExecute(null);

            Assert.IsTrue(expected);
        }
Пример #3
0
        public void generate_statement_number()
        {
            // Setup
            new Mock().PromiseFileReader();
            new Mock().PromiseEmailClient();

            Publish(Messages.REQUEST_SAVE_SERVICE, Mocks.SERVICE_1);

            EnterCustomer.ViewModel enterCustomerViewModel = null;

            Subscribe(Messages.REQUEST_VIEW_CUSTOMER_INFORMATION, obj =>
            {
                enterCustomerViewModel = CreateViewModel();
                AssignValues(enterCustomerViewModel);
                enterCustomerViewModel.SelectedServices = new List <Service>(obj as IEnumerable <Service>);
                enterCustomerViewModel.Load.Execute(null);
                enterCustomerViewModel.Generate.Execute(null);
            });

            var selectServicesViewModel = new CreateQuote.SelectServices.ViewModel();

            selectServicesViewModel.SelectedServices.Add(Mocks.SERVICE_1);
            selectServicesViewModel.Next.Execute(null);

            var calculateTransactionViewModel = new CalculateTransaction.ViewModel();

            calculateTransactionViewModel.Services.Add(Mocks.SERVICE_1);

            calculateTransactionViewModel.AddService.Execute(Mocks.SERVICE_1);
            enterCustomerViewModel.Generate.Execute(null);

            // Test
            var viewQuoteViewModel_1 = new ViewQuote.ViewModel();

            viewQuoteViewModel_1.Send.Execute(null);
            viewQuoteViewModel_1.Home.Execute(null);

            var viewQuoteViewModel_2 = new ViewQuote.ViewModel();

            viewQuoteViewModel_2.Send.Execute(null);
            viewQuoteViewModel_2.Home.Execute(null);

            // Verify
            var expected = viewQuoteViewModel_1.Quote.StatementNumber == 1 &&
                           viewQuoteViewModel_2.Quote.StatementNumber == 2;

            Assert.IsTrue(expected);
        }
Пример #4
0
        public void maintain_profile_when_generating_quote()
        {
            // Setup
            new Mock().PromiseEmailClient();
            new Mock().PromiseFileReader();

            Publish(Messages.REQUEST_SAVE_SERVICE, Mocks.SERVICE_1);

            EnterCustomer.ViewModel enterCustomerViewModel = null;

            Subscribe(Messages.REQUEST_VIEW_CUSTOMER_INFORMATION, obj =>
            {
                enterCustomerViewModel = CreateViewModel();
                AssignValues(enterCustomerViewModel);
                enterCustomerViewModel.SelectedServices = new List <Service>(obj as IEnumerable <Service>);
                enterCustomerViewModel.Load.Execute(null);
                enterCustomerViewModel.Generate.Execute(null);
            });

            var selectServicesViewModel = new CreateQuote.SelectServices.ViewModel();

            selectServicesViewModel.SelectedServices.Add(Mocks.SERVICE_1);
            selectServicesViewModel.Next.Execute(null);

            var calculateTransactionViewModel = new CalculateTransaction.ViewModel();

            calculateTransactionViewModel.Services.Add(Mocks.SERVICE_1);

            calculateTransactionViewModel.AddService.Execute(Mocks.SERVICE_1);
            enterCustomerViewModel.Generate.Execute(null);

            var viewQuoteViewModel = new ViewQuote.ViewModel();

            viewQuoteViewModel.Send.Execute(null);

            // Test
            MockEmailClient emailClient = null;

            Subscribe(Messages.REQUEST_EMAIL_CLIENT_RESPONSE, obj => emailClient = obj as MockEmailClient);
            Publish(Messages.REQUEST_EMAIL_CLIENT);

            // Verify
            var expected = emailClient != null && !string.IsNullOrEmpty(viewQuoteViewModel.Quote.Profile.Email);

            Assert.IsTrue(expected);
        }