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); } }