Пример #1
0
        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);
            }
        }
Пример #2
0
        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));
            }
        }
Пример #4
0
        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);
            }
        }