public void ShouldRegisterUser() { // Arrange var registrationInfo = new RegistrationInfo() { Addresses = new List <AddressInfo>() { new AddressInfo() { AddressLine1 = "123", City = "Redmond", CountryName = "USA", PostalCode = "12345", StateProvinceId = 33 } }, CreditCards = new List <CreditCardInfo>() { new CreditCardInfo() { CardNumber = "1111222233334444", CardType = "VISA", ExpMonth = 1, ExpYear = 2015 } }, EmailAddresses = new List <string>() { "*****@*****.**" }, FirstName = "Test", LastName = "User", Password = "******" }; var person = new Person() { PersonGuid = Guid.NewGuid() }; var personRepository = new StubIPersonRepository() { SavePersonPerson = newPerson => person }; var shoppingCartRepository = new StubIShoppingCartRepository() { GetShoppingCartString = shoppingCartId => new ShoppingCart(person.PersonGuid.ToString()) }; var orderRepository = new StubISalesOrderRepository() { IsOrderSavedGuid = shoppingCartId => false }; var controller = new AccountController(personRepository, shoppingCartRepository, orderRepository, new StubIStateProvinceRepository()); SetupControllerForTests(controller); // Act var result = controller.Register(registrationInfo); // Assert Assert.AreEqual(result.StatusCode, HttpStatusCode.Created); }
public void ShouldLogonUser() { // Arrange var person = new Person() { Id = 1, PasswordHash = "/y5qFg+Su7P2S+iiVMKgSHzlSemQan2hYvZywrqSkTE=", PasswordSalt = "bE3XiWw=", PersonGuid = Guid.NewGuid() }; var logonInfo = new LoginInfo() { UserName = "******", Password = "******" }; var personRepository = new StubIPersonRepository() { GetPersonByEmailString = emailAddress => person }; var shoppingCartRepository = new StubIShoppingCartRepository() { GetShoppingCartString = shoppingCartId => new ShoppingCart(person.PersonGuid.ToString()) }; var orderRepository = new StubISalesOrderRepository() { IsOrderSavedGuid = shoppingCartId => false }; var controller = new AccountController(personRepository, shoppingCartRepository, orderRepository, new StubIStateProvinceRepository()); SetupControllerForTests(controller); // Act var result = controller.Login(logonInfo); var returnedPerson = new JavaScriptSerializer().Deserialize <string>(result.Content.ReadAsStringAsync().Result); // Assert Assert.AreEqual(result.StatusCode, HttpStatusCode.OK); Assert.AreEqual(returnedPerson, person.PersonGuid.ToString()); }