public async Task WHEN_passing_valid_arguments_SHOULD_create_viewmodel() { //Arrange var customer = MockCustomerFactory.CreateRandom(); var mockedCustomerRepository = new Mock <ICustomerRepository>(); mockedCustomerRepository.Setup(r => r.GetCustomerByIdAsync(It.Is <GetCustomerByIdParam>(p => p.CustomerId == customer.Id))) .ReturnsAsync(customer); _container.Use(mockedCustomerRepository); var expectedStatus = TestingExtensions.GetRandomEnum <MyAccountStatus>(); var param = new GetUpdateAccountViewModelParam { Status = expectedStatus, CultureInfo = TestingExtensions.GetRandomCulture(), CustomerId = customer.Id, ReturnUrl = GetRandom.WwwUrl(), Scope = GetRandom.String(32) }; var customerViewService = _container.CreateInstance <CustomerViewService>(); //Act var viewModel = await customerViewService.GetUpdateAccountViewModelAsync(param); //Assert viewModel.Should().NotBeNull("This view model should never be null"); viewModel.Status.Should().Be(expectedStatus.ToString("G"), "Because we render the status as a string for HBS message switch"); viewModel.ReturnUrl.Should().Be(param.ReturnUrl); viewModel.Email.Should().Be(customer.Email); viewModel.FirstName.Should().Be(customer.FirstName); viewModel.LastName.Should().Be(customer.LastName); }
public void WHEN_passing_valid_arguments_SHOULD_create_viewmodel() { //Arrange var expectedStatus = TestingExtensions.GetRandomEnum <MyAccountStatus>(); var param = new GetLoginViewModelParam { Status = expectedStatus, CultureInfo = TestingExtensions.GetRandomCulture(), Customer = MockCustomerFactory.CreateRandom(), ReturnUrl = GetRandom.WwwUrl(), LoginUrl = GetRandom.WwwUrl(), CreateAccountUrl = GetRandom.WwwUrl(), ForgotPasswordUrl = GetRandom.WwwUrl(), Username = GetRandom.String(32) }; var membershipViewService = _container.CreateInstance <MembershipViewService>(); membershipViewService.Membership = _container.Get <IMembershipProxy>(); //Act var viewModel = membershipViewService.GetLoginViewModel(param); //Assert viewModel.Should().NotBeNull("This view model should never be null"); viewModel.Status.Should().Be(expectedStatus.ToString("G"), "Because we render the status as a string for HBS message switch"); viewModel.ReturnUrl.Should().Be(param.ReturnUrl); viewModel.CreateAccountUrl.Should().Be(param.CreateAccountUrl); viewModel.ForgotPasswordUrl.Should().Be(param.ForgotPasswordUrl); viewModel.LoginUrl.Should().Be(param.LoginUrl); viewModel.FirstName.Should().Be(param.Customer.FirstName); viewModel.LastName.Should().Be(param.Customer.LastName); }
public void WHEN_Customer_is_Null_SHOULD_create_view_model_with_empty_bag() { //Arrange var expectedStatus = TestingExtensions.GetRandomEnum <MyAccountStatus>(); var param = new GetLoginViewModelParam { Status = expectedStatus, CultureInfo = TestingExtensions.GetRandomCulture(), Customer = null, ReturnUrl = GetRandom.WwwUrl(), Username = GetRandom.String(32), ForgotPasswordUrl = GetRandom.WwwUrl(), CreateAccountUrl = GetRandom.WwwUrl(), LoginUrl = GetRandom.WwwUrl(), }; var membershipViewService = _container.CreateInstance <MembershipViewService>(); membershipViewService.Membership = _container.Get <IMembershipProxy>(); //Act var viewModel = membershipViewService.GetLoginViewModel(param); //Assert viewModel.Should().NotBeNull("This view model should never be null"); viewModel.Status.Should().Be(expectedStatus.ToString("G"), "Because we render the status as a string for HBS message switch"); viewModel.ReturnUrl.Should().Be(param.ReturnUrl); viewModel.CreateAccountUrl.Should().Be(param.CreateAccountUrl); viewModel.ForgotPasswordUrl.Should().Be(param.ForgotPasswordUrl); viewModel.LoginUrl.Should().Be(param.LoginUrl); viewModel.Bag.Should().BeEmpty("No PropertyBag to load from"); }
public void WHEN_Customer_is_Null_SHOULD_throw_ArgumentException() { //Arrange var customerViewService = _container.CreateInstance <CustomerViewService>(); var param = new GetUpdateAccountViewModelParam { Status = TestingExtensions.GetRandomEnum <MyAccountStatus>(), CultureInfo = TestingExtensions.GetRandomCulture(), ReturnUrl = GetRandom.WwwUrl(), Scope = GetRandom.String(32) }; //Act var ex = Assert.ThrowsAsync <ArgumentException>(() => customerViewService.GetUpdateAccountViewModelAsync(param)); //Assert ex.Message.Should().ContainEquivalentOf("Customer"); }
public void WHEN_CultureInfo_is_Empty_SHOULD_throw_ArgumentException(CultureInfo cultureInfo) { //Arrange var membershipViewService = _container.CreateInstance <MembershipViewService>(); var param = new GetLoginViewModelParam { Status = TestingExtensions.GetRandomEnum <MyAccountStatus>(), CultureInfo = cultureInfo, Customer = MockCustomerFactory.CreateRandom(), ReturnUrl = GetRandom.WwwUrl() }; //Act var ex = Assert.Throws <ArgumentException>(() => membershipViewService.GetLoginViewModel(param)); //Assert ex.Message.Should().ContainEquivalentOf("CultureInfo"); }
/// <summary> /// Gets a random Customer /// </summary> /// <param name="status"></param> /// <param name="customerId"></param> /// <returns></returns> public static Customer CreateRandom(AccountStatus?status = null, Guid?customerId = null) { return(new Customer { AccountStatus = status ?? TestingExtensions.GetRandomEnum <AccountStatus>(), Id = customerId ?? GetRandom.Guid(), CellNumber = GetRandom.String(32), PropertyBag = new PropertyBag(), Addresses = new List <Address>(), AddressIds = new List <Guid>(), Created = GetRandom.DateTime(), Email = GetRandom.Email(), Username = GetRandom.Email(), FirstName = GetRandom.FirstName(), LastName = GetRandom.LastName(), PasswordQuestion = GetRandom.String(70), CustomerType = TestingExtensions.GetRandomEnum <CustomerType>(), LastModifiedBy = GetRandom.Email(), CreatedBy = GetRandom.Email(), LastModified = GetRandom.DateTime(), Language = TestingExtensions.GetRandomCulture().Name, FaxExtension = GetRandom.String(5), FaxNumber = GetRandom.String(32), IsRecurringBuyer = GetRandom.Boolean(), LastActivityDate = GetRandom.DateTime(), LastLoginDate = GetRandom.DateTime(), LastOrderCurrency = GetRandom.String(32), LastOrderDate = GetRandom.DateTime(), LastOrderItemsCount = GetRandom.PositiveInt(32), LastOrderNumber = GetRandom.String(32), LastOrderStatus = GetRandom.String(32), LastOrderTotal = GetRandom.PositiveInt(12094), LastPasswordChanged = GetRandom.DateTime(), MiddleName = GetRandom.LastName(), PhoneExtension = GetRandom.String(5), PhoneNumber = GetRandom.String(20), PhoneExtensionWork = GetRandom.String(5), PhoneNumberWork = GetRandom.String(20), PreferredStoreId = GetRandom.Guid() }); }