public void DeleteUserSuccessful() { //First, create a user with known id var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; var createdUser = repo.CreateUser(user); //Then, get user var gotUser = repo.GetUserById(id); Assert.IsNotNull(gotUser); Assert.AreEqual(gotUser.Id, id); //Now, delete user repo.DeleteUser(id); //And check whether user exists now var success = false; try { repo.GetUserById(id); } catch (UnauthorizedException) { success = true; } if (!success) { Assert.Fail("Delete user failed!"); } }
public User CreateUser(User user) { ValidateUser(user); var request = new RestRequest("/users", Method.POST); request.AddParameter("id", user.Id); request.AddParameter("first_name", user.FirstName); request.AddParameter("last_name", user.LastName); request.AddParameter("email", user.Email); request.AddParameter("mobile", user.Mobile); request.AddParameter("address_line1", user.AddressLine1); request.AddParameter("address_line2", user.AddressLine2); request.AddParameter("state", user.State); request.AddParameter("city", user.City); request.AddParameter("zip", user.Zip); request.AddParameter("country", user.Country); var response = SendRequest(Client, request); return JsonConvert.DeserializeObject<IDictionary<string,User>>(response.Content).Values.First(); }
public void EditUserMissingId() { var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; repo.UpdateUser(user); }
public void ValidationErrorUserCreateWrongEmail() { var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id }; repo.CreateUser(user); }
public void ValidationErrorUserCreateWrongCountry() { var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "Australia", //Not a correct ISO code State = "state", Zip = "123456", Email = id + "@google.com" }; repo.CreateUser(user); }
public void UserCreateSuccessful() { var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; var createdUser = repo.CreateUser(user); Assert.AreEqual(user.Id, createdUser.Id); Assert.AreEqual(user.FirstName, createdUser.FirstName); Assert.AreEqual(user.LastName, createdUser.LastName); Assert.AreEqual("Test Test", createdUser.FullName); Assert.AreEqual(user.Email, createdUser.Email); Assert.IsTrue(createdUser.CreatedAt.HasValue); Assert.IsTrue(createdUser.UpdatedAt.HasValue); }
public void ListUsersSuccessful() { //First, create a user, so we'll have at least one var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; var createdUser = repo.CreateUser(user); //Then, list users var users = repo.ListUsers(200); Assert.IsNotNull(users); Assert.IsTrue(users.Any()); Assert.IsTrue(users.Any(x => x.Id == id)); }
public void GetUserSuccessful() { //First, create a user with known id var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; var createdUser = repo.CreateUser(user); //Then, get user var gotUser = repo.GetUserById(id); Assert.IsNotNull(gotUser); Assert.AreEqual(gotUser.Id, id); }
public void EditUserSuccessful() { //First, create a user we'll work with var repo = new UserRepository(); var id = Guid.NewGuid().ToString(); var user = new User { Id = id, FirstName = "Test", LastName = "Test", City = "Test", AddressLine1 = "Line 1", Country = "AUS", State = "state", Zip = "123456", Email = id + "@google.com" }; var createdUser = repo.CreateUser(user); //Now, try to edit newly created user user.FirstName = "Test123"; user.LastName = "Test123"; var modifiedUser = repo.UpdateUser(user); Assert.AreEqual("Test123", modifiedUser.FirstName); Assert.AreEqual("Test123", modifiedUser.LastName); }
private void ValidateUser(User user) { if (String.IsNullOrEmpty(user.Id)) { throw new ValidationException("Field User.ID should not be empty!"); } if (String.IsNullOrEmpty(user.FirstName)) { throw new ValidationException("Field User.FirstName should not be empty!"); } if (!IsCorrectCountryCode(user.Country)) { throw new ValidationException("Field User.Country should contain 3-letter ISO country code!"); } if (!IsCorrectEmail(user.Email)) { throw new ValidationException("Field User.Email should contain correct email address!"); } }