public void AddUser_WhenCalled_ShouldReturnSameUser() { var usersRepository = new UsersRepository(DbContext); var userToAdd = TestFactoryHelpers.CreateTestUser(); var addedUser = usersRepository.AddUser(userToAdd); Assert.Equal(userToAdd, addedUser); }
public void AddUser_WhenCalled_ShouldPutCreatedOnToUser() { var usersRepository = new UsersRepository(DbContext); var userToAdd = TestFactoryHelpers.CreateTestUser(); var addedUser = usersRepository.AddUser(userToAdd); Assert.NotNull(addedUser.CreatedOn); }
public async Task AddUser_WhenCalled_ShouldReturnOkWithTheAddedUser() { var createUserModel = TestFactoryHelpers.CreateTestCreateUserModel(); var result = await _usersService.AddUser(createUserModel); var data = (UserReturnModel)result.Data; Assert.Equal(createUserModel.EmailAddress, data.EmailAddress); Assert.Equal(EServiceActionStatus.Created, result.Status); }
public void AddUser_WhenCalled_ShouldTrackUserInDbContext() { var usersRepository = new UsersRepository(DbContext); var userToAdd = TestFactoryHelpers.CreateTestUser(); var addedUser = usersRepository.AddUser(userToAdd); var trackingEntities = DbContext.ChangeTracker.Entries().Select(x => x.Entity); Assert.Contains(addedUser, trackingEntities); }
public async Task AddUser_WhenCalled_ShouldLowerCaseEmailAddress() { var emailAddress = "*****@*****.**"; var createUserModel = TestFactoryHelpers.CreateTestCreateUserModel(emailAddress: emailAddress); var result = await _usersService.AddUser(createUserModel); var data = (UserReturnModel)result.Data; Assert.Equal(emailAddress.ToLower(), data.EmailAddress); Assert.Equal(EServiceActionStatus.Created, result.Status); }
public async Task GetUserByEmailAddressAndPassword_WrongPassword_ShouldReturnNull() { var usersRepository = new UsersRepository(DbContext); var existingUser = TestFactoryHelpers.CreateTestUser(); DbContext.Users.Add(existingUser); DbContext.SaveChanges(); var user = await usersRepository.GetUserByEmailAddressAndPassword("*****@*****.**", "wrongPassword"); Assert.Null(user); }
public async Task GetUserByEmailAddressAndPassword_ValidCredentialsForNotDeletedUser_ShouldReturnUser() { var usersRepository = new UsersRepository(DbContext); var existingUser = TestFactoryHelpers.CreateTestUser(); DbContext.Users.Add(existingUser); DbContext.SaveChanges(); var user = await usersRepository.GetUserByEmailAddressAndPassword("*****@*****.**", "password"); Assert.Equal(existingUser.UserId, user.UserId); }
public async Task GetUserById_NonExistingUserId_ShouldReturnNull() { long userIdTest = 1; var usersRepository = new UsersRepository(DbContext); var existingUser = TestFactoryHelpers.CreateTestUser(userId: userIdTest); DbContext.Users.Add(existingUser); DbContext.SaveChanges(); var user = await usersRepository.GetUserById(userIdTest + 1); Assert.Null(user); }
public async Task SignIn_InvalidCredentials_ShouldReturnUnAuthorizedWithNullObject() { var signInModel = TestFactoryHelpers.CreateTestSignInModel(); var returnedUserFromRepository = _usersRepositoryMock .Setup(x => x.GetUserByEmailAddressAndPassword(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(value: null); var result = await _usersService.SignIn(signInModel); Assert.Null(result.Data); Assert.Equal(EServiceActionStatus.Unauthorized, result.Status); }
public async Task GetUserById_ExistingUser_ShouldReturnOkStatusWithTheUser() { var user = TestFactoryHelpers.CreateTestUser(); _usersRepositoryMock.Setup(x => x.GetUserById(1)).ReturnsAsync(user); var result = await _usersService.GetUserById(1); var data = (UserReturnModel)result.Data; Assert.Equal(user.UserId, data.UserId); Assert.Equal(user.EmailAddress, data.EmailAddress); Assert.Equal(EServiceActionStatus.Ok, result.Status); }
public async Task SignIn_WhenCalled_ShouldLowerCaseEmailAddress() { var emailAddress = "*****@*****.**"; var signInModel = TestFactoryHelpers.CreateTestSignInModel(emailAddress: emailAddress); _usersRepositoryMock .Setup(x => x.GetUserByEmailAddressAndPassword(emailAddress.ToLower(), It.IsAny <string>())) .ReturnsAsync(TestFactoryHelpers.CreateTestUser(emailAddress: emailAddress.ToLower())); var result = await _usersService.SignIn(signInModel); var data = (UserReturnModel)result.Data; Assert.Equal(emailAddress.ToLower(), data.EmailAddress); Assert.Equal(EServiceActionStatus.Ok, result.Status); }
public async Task SignIn_ValidCredentials_ShouldReturnOkWithUserReturnedFromRepository() { var signInModel = TestFactoryHelpers.CreateTestSignInModel(); var user = TestFactoryHelpers.CreateTestUser(); var returnedUserFromRepository = _usersRepositoryMock .Setup(x => x.GetUserByEmailAddressAndPassword(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(user); var result = await _usersService.SignIn(signInModel); var data = (UserReturnModel)result.Data; Assert.Equal(user.UserId, data.UserId); Assert.Equal(user.EmailAddress, data.EmailAddress); Assert.Equal(EServiceActionStatus.Ok, result.Status); }