Пример #1
0
        public async Task Return_WhenUserIsDeleted()
        {
            var userId    = "userId";
            var username  = "******";
            var email     = "*****@*****.**";
            var isDeleted = true;

            var logbooks = new List <int> {
                1
            };

            var userManagerWrapperMocked = new Mock <IUserManagerWrapper <User> >();
            var mappingProviderMocked    = new Mock <IMappingProvider>();
            var dateTimeWrapperMocked    = new Mock <IDateTimeWrapper>();

            var deleteOn   = dateTimeWrapperMocked.Object.Now();
            var modifiedOn = dateTimeWrapperMocked.Object.Now();

            AccountTestUtils.GetContextWithFullUser(nameof(Return_WhenUserIsDeleted), userId, username, email);

            using (var assertContext = new AlphaHotelDbContext(AccountTestUtils.GetOptions(nameof(Return_WhenUserIsDeleted))))
            {
                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.AreEqual(account.DeletedOn, deleteOn);
                Assert.IsTrue(account.IsDeleted);
                Assert.AreEqual(account.ModifiedOn, modifiedOn);
                Assert.AreEqual(account.UsersLogbooks.Count, 1);
            }
        }