Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
        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");
        }
Esempio n. 5
0
        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()
     });
 }