public async Task Return_WhenUserIsNotDeleted() { var userId = "userId"; var username = "******"; var email = "*****@*****.**"; var isDeleted = false; var logbooks = new List <int> { 1 }; var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >(); var mappingProviderMocked = new Mock <IMappingProvider>(); var dateTimeWrapperMocked = new Mock <IDateTimeWrapper>(); var modifiedOn = dateTimeWrapperMocked.Object.Now(); AccountTestUtils.GetContextWithFullUser(nameof(Return_WhenUserIsNotDeleted), userId, username, email); using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(Return_WhenUserIsNotDeleted)))) { var accountService = new AccountService(assertContext, userManagerWrapperMocked.Object, mappingProviderMocked.Object, dateTimeWrapperMocked.Object); await accountService.EditAccountAsync(userId, username, email, isDeleted, logbooks); var account = await assertContext.Users.FirstOrDefaultAsync(u => u.Id == userId); Assert.AreEqual(username, account.UserName); Assert.AreEqual(email, account.Email); Assert.IsFalse(account.IsDeleted); Assert.AreEqual(account.ModifiedOn, modifiedOn); Assert.AreEqual(account.UsersLogbooks.Count, 1); } }
public async Task ThrowException_WhenUsernameIsInUser() { var userId = "userId"; var username = "******"; var newUsername = "******"; var email = "*****@*****.**"; var isDeleted = false; var logbooks = new List <int> { 1 }; var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >(); var mappingProviderMocked = new Mock <IMappingProvider>(); var dateTimeWrapperMocked = new Mock <IDateTimeWrapper>(); AccountTestUtils.GetContextWithFullUserAndUser(nameof(ThrowException_WhenUsernameIsInUser), userId, newUsername, username, email); using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(ThrowException_WhenUsernameIsInUser)))) { var accountService = new AccountService(assertContext, userManagerWrapperMocked.Object, mappingProviderMocked.Object, dateTimeWrapperMocked.Object); await Assert.ThrowsExceptionAsync <ArgumentException>( async() => await accountService.EditAccountAsync(userId, newUsername, email, isDeleted, logbooks)); } }
public async Task ReturnUsers_AllowedToSeeLog() { var logbookId = 1; var userId = "userId"; var username = "******"; var usernames = new Dictionary <string, string>(); usernames.Add(username, username); var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >(); var mappingProviderMocked = new Mock <IMappingProvider>(); var dateTimeWrapperMocked = new Mock <IDateTimeWrapper>(); AccountTestUtils.GetContextWithUserLogBooksAndUserAndLogBook(nameof(ReturnUsers_AllowedToSeeLog), userId, username, logbookId); using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(ReturnUsers_AllowedToSeeLog)))) { var accountService = new AccountService(assertContext, userManagerWrapperMocked.Object, mappingProviderMocked.Object, dateTimeWrapperMocked.Object); var users = await accountService.CheckIfUserIsAllowedToSeeLogAsync(usernames, logbookId); Assert.AreEqual(1, users.Count); Assert.IsTrue(users.Contains(username)); } }
public async Task ListAllUsersAsync_ReturnUsers() { var userId = "userId"; var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >(); var mappingProviderMocked = new Mock <IMappingProvider>(); var dateTimeWrapperMocked = new Mock <IDateTimeWrapper>(); AccountTestUtils.ResetAutoMapper(); AccountTestUtils.InitializeAutoMapper(); AccountTestUtils.GetContextWithUser(nameof(ListAllUsersAsync_ReturnUsers), userId); using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(ListAllUsersAsync_ReturnUsers)))) { var accountService = new AccountService(assertContext, userManagerWrapperMocked.Object, mappingProviderMocked.Object, dateTimeWrapperMocked.Object); var accountDTO = await accountService.ListAllUsersAsync(); Assert.AreEqual(1, accountDTO.Count); } }
public async Task ReturnUser_WhenUserIsFound() { var userId = "userId"; var user = new User() { Id = userId }; var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >(); var mappingProviderMocked = new Mock <IMappingProvider>(); var dateTimeWrapperMocked = new Mock <IDateTimeWrapper>(); var role = "manager"; var roles = new List <string> { role }; var accountDetailsDTO = new AccountDetailsDTO { Id = userId }; userManagerWrapperMocked.Setup(um => um.GetRolesAsync(It.IsAny <User>())).ReturnsAsync(roles); User mapInput = user; mappingProviderMocked.Setup(mpm => mpm.MapTo <AccountDetailsDTO>(It.IsAny <User>())) .Returns(accountDetailsDTO); AccountTestUtils.GetContextWithUser(nameof(ReturnUser_WhenUserIsFound), userId); using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(ReturnUser_WhenUserIsFound)))) { var accountService = new AccountService(assertContext, userManagerWrapperMocked.Object, mappingProviderMocked.Object, dateTimeWrapperMocked.Object); var account = await accountService.FindAccountAsync(userId); Assert.AreEqual(userId, mapInput.Id); Assert.AreEqual(role, account.Role); } }