public async Task AllAsyncShould_ReturnsCorrectModelWith_CorrectData()
        {
            var admin = UserCreator.Create();
            var user  = UserCreator.Create();

            await this.Db.AddRangeAsync(admin, user);

            var adminLog       = AdminLogCreator.Create(admin.Id, user.Id, ManagerRole);
            var secondAdminLog = AdminLogCreator.Create(admin.Id, user.Id, BloggerRole);

            await this.Db.AddRangeAsync(adminLog, secondAdminLog);

            await this.Db.SaveChangesAsync();

            var service = new AdminActivityService(this.Db);

            //TODO: rewrite the test - there is new parameter - page
            //Act
            (int count, var result) = await service.AllAsync <AdminActivitiesListingModel>(admin.Id, 1);

            var expectedCount = this.Db.AdminLogs.Count();

            var editedUsersUserNames = this.Db.AdminLogs
                                       .Where(al => al.AdminId == admin.Id)
                                       .OrderByDescending(al => al.CreatedOn)
                                       .Select(al => al.EditedUser.UserName).ToList();

            //Assert
            result.Should().BeOfType <List <AdminActivitiesListingModel> >();

            result.Should().HaveCount(expectedCount);

            result.Should().BeInDescendingOrder(a => a.CreatedOn);

            var logsModel = result.ToList();

            for (int i = 0; i < logsModel.Count; i++)
            {
                var log = logsModel[i];
                editedUsersUserNames[i].Should().Be(log.EditedUserUserName);
            }
        }
        public async Task WriteInfoAsyncShould_WriteTheCorrectDataInDatabase()
        {
            string            adminId      = Guid.NewGuid().ToString();
            string            userId       = Guid.NewGuid().ToString();
            const string      Role         = "Manager";
            AdminActivityType activityType = AdminActivityType.AddedToRole;

            //Arrange
            var service = new AdminActivityService(this.Db);

            //Act
            var result = await service.WriteInfoAsync(adminId, userId, Role, activityType);

            var savedLog = this.Db.AdminLogs.First(al => al.Id == result);

            //Assert
            result.Should().BeOfType(typeof(int));

            savedLog.Id.Should().Be(result);
            savedLog.AdminId.Should().Be(adminId);
            savedLog.EditedUserId.Should().Be(userId);
            savedLog.Activity.Should().Be(activityType);
            savedLog.ForRole.Should().Match(Role);
        }