public void GetDiaryByIdThrowExceptionwithNonExistantId() { //arrange var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = "1111" }; this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); Action act = () => diaryService.GetDiaryById(2); act.Should().Throw <ArgumentException>().WithMessage(GlobalConstants.MissingDiary); }
public void GetDiaryByIdShouldReturnDiaryDetailsModelWithCorrectId() { //arrange var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = "1111" }; this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); var result = diaryService.GetDiaryById(1); result.Should().BeOfType <DiaryDetailsOutputModel>().And.Should().NotBeNull(); }
public void DiaryExistsShouldReturnTrue() { //arrange var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = "1111", }; this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int diaryId = diary.Id; var exists = this.Context.GetShreddedDiaries.Any(x => x.Id == diaryId); //assert exists.Should().BeTrue(); }
public void AddPageShouldAddNewPageToDiary() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 2, Content = "Content", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var newPage = new PageInputModel { User = user.UserName, Content = "Some New Content", CreatedOn = DateTime.Now, DiaryId = diary.Id, Title = "New Page" }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.pageService.AddPage(newPage); //assert var result = this.Context.Pages.OrderBy(x => x.CreatedOn).Last(x => x.GetShreddedDiaryId == diary.Id); result.Should().NotBeNull() .And.Subject.As <Page>() .Title.Should().BeSameAs(newPage.Title); }
public void DeleteCommentShouldDeleteComment() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var type = new DiaryType { Id = 1, Name = "Cutting" }; var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = type, UserId = "UserId" }; var comment = new Comment { GetShreddedDiaryId = 1, GetShreddedUser = user, GetShreddedDiary = diary, CommentedOn = DateTime.Now.Date, Message = "Comment", GetShreddedUserId = user.Id, Id = 1 }; var userManager = (UserManager <GetShreddedUser>) this.Provider.GetService(typeof(UserManager <GetShreddedUser>)); userManager.CreateAsync(user).GetAwaiter(); this.Context.Comments.Add(comment); this.Context.DiaryTypes.Add(type); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.CommentService.DeleteComment(1); var result = this.Context.Comments.ToList(); //assert result.Should().BeEmpty(); }
public void EditPageShouldEditPageContentOrTitle() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 1, Content = "Content", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var record = new PageEditModel { User = user.UserName, Content = "Some New Content", CreatedOn = page.CreatedOn, Id = page.Id, DiaryId = diary.Id, Title = "New Title" }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act this.pageService.EditPage(record); //assert var result = this.Context.Pages.ProjectTo <PageEditModel>().FirstOrDefault(x => x.Id == page.Id); result.Should().NotBeNull().And.Subject.Should().BeEquivalentTo(record); }
public void GetPageToEditByIdShouldReturnThePageEditModelById() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var page = new Page { Id = 1, Content = "SomeContent", UserId = user.Id, GetShreddedUser = user, GetShreddedDiary = diary, GetShreddedDiaryId = diary.Id, Title = "Title", CreatedOn = DateTime.UtcNow }; var record = new PageEditModel { User = user.UserName, Content = page.Content, CreatedOn = page.CreatedOn, Id = page.Id, DiaryId = diary.Id, Title = page.Title }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.Add(page); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int pageId = page.Id; var result = this.pageService.GetPageToEditById(pageId); //assert result.Should().NotBeNull().And.Subject.Should().BeEquivalentTo(record); }
public void AddRatingShouldThrowExceptionIfAlreadyRatedIsTrue() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var rating = new DiaryRating { Rating = 8, GetShreddedUserId = user.Id, Id = 1, GetShreddedUser = user }; var diaryRating = new GetShreddedRating { GetShreddedDiaryId = diary.Id, DiaryRatingId = rating.Id, GetShreddedDiary = diary, DiaryRating = rating }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); usermanager.CreateAsync(user).GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.DiaryRatings.Add(rating); this.Context.GetShreddedRatings.Add(diaryRating); this.Context.SaveChanges(); //act var diaryService = GetService(); Action act = () => diaryService.AddRating(diary.Id, 1, user.UserName); //assert act.Should().Throw <InvalidOperationException>().WithMessage(GlobalConstants.AlreadyRated); }
public void DeleteDiaryShouldBeSuccessfulForAdmin() { //arrange var firstUser = new GetShreddedUser { Id = "FirstId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title", UserId = secondUser.Id, }; var role = new IdentityRole { Name = "admin" }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); var roleManager = this.Provider.GetRequiredService <RoleManager <IdentityRole> >(); usermanager.CreateAsync(secondUser).GetAwaiter(); usermanager.CreateAsync(firstUser).GetAwaiter(); roleManager.CreateAsync(role).GetAwaiter(); usermanager.AddToRoleAsync(firstUser, "admin").GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); diaryService.DeleteDiary(diary.Id, firstUser.UserName).GetAwaiter(); //assert var result = this.Context.GetShreddedDiaries.FirstOrDefault(); result.Should().BeNull(); }
public async Task FollowShouldCreateUserDiaryEntityInDatabase() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; this.Context.GetShreddedDiaries.Add(diary); var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.SaveChanges(); //act var diaryService = GetService(); var diaryId = diary.Id; var username = user.UserName; var userId = user.Id; await diaryService.Follow(username, userId, diaryId); //assert var result = this.Context.GetShreddedUserDiaries.FirstOrDefault(); var userDiary = new GetShreddedUserDiary { GetShreddedUserId = user.Id, GetShreddedDiaryId = diary.Id }; result.Should().BeOfType <GetShreddedUserDiary>().And.Subject.Should().Equals(userDiary); }
public async Task AddRatingShouldAddRatingToADiary() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); diaryService.AddRating(diary.Id, 10, user.UserName); //assert var diaryRating = new GetShreddedRating { GetShreddedDiaryId = 1, DiaryRatingId = 1 }; var result = this.Context.GetShreddedRatings.FirstOrDefault(); result.Should().NotBeNull().And. Subject.Should() .BeOfType <GetShreddedRating>().And.Should() .BeEquivalentTo(diaryRating, opt => opt.ExcludingMissingMembers()); }
public async Task FollowShouldThrowOperationExceptionWhenTryToAddDuplicateEntity() { //arrange var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title" }; var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; this.Context.GetShreddedDiaries.Add(diary); var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); await usermanager.CreateAsync(user); this.Context.SaveChanges(); //act var storyService = GetService(); var diaryId = diary.Id; var username = user.UserName; var userId = user.Id; await storyService.Follow(username, userId, diaryId); //assert Action act = () => storyService.Follow(username, userId, diaryId).GetAwaiter().GetResult(); string message = string.Join(GlobalConstants.AlreadyFollow, user.UserName); act.Should().Throw <InvalidOperationException>().WithMessage(message); }
public void DeleteDiaryShouldThrowExceptionWithAdminAndUserBoolsFalse() { //arrange var firstUser = new GetShreddedUser { Id = "FirstId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title", UserId = secondUser.Id, }; var usermanager = this.Provider.GetRequiredService <UserManager <GetShreddedUser> >(); usermanager.CreateAsync(firstUser).GetAwaiter(); usermanager.CreateAsync(secondUser).GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act var diaryService = GetService(); Func <Task> act = async() => await diaryService.DeleteDiary(diary.Id, firstUser.UserName); //assert act.Should().Throw <OperationCanceledException>(); }
public void AllUsers_Should_Return_Correct_Info_Per_User() { //arrange var firstUser = new GetShreddedUser { Id = "FirstUserId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondUserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = null, Summary = "Summary", Title = "Title", UserId = firstUser.Id, }; var comments = new[] { new Comment { GetShreddedUser = firstUser, Id = 1, GetShreddedUserId = firstUser.Id, GetShreddedDiaryId = diary.Id, GetShreddedDiary = diary, Message = "FirstMessage" }, new Comment { GetShreddedUser = firstUser, Id = 2, GetShreddedUserId = firstUser.Id, GetShreddedDiaryId = diary.Id, GetShreddedDiary = diary, Message = "SecondMessage" }, }; var messages = new[] { new Message { Id = 1, IsReaded = false, Receiver = firstUser, ReceiverId = firstUser.Id, Sender = secondUser, SenderId = secondUser.Id }, new Message { Id = 2, IsReaded = true, Receiver = firstUser, ReceiverId = firstUser.Id, Sender = secondUser, SenderId = secondUser.Id }, new Message { Id = 3, IsReaded = false, Receiver = secondUser, ReceiverId = secondUser.Id, Sender = firstUser, SenderId = firstUser.Id }, new Message { Id = 4, IsReaded = true, Receiver = secondUser, ReceiverId = secondUser.Id, Sender = firstUser, SenderId = firstUser.Id } }; this.userManager.CreateAsync(secondUser).GetAwaiter(); this.userManager.CreateAsync(firstUser).GetAwaiter(); this.Context.GetShreddedDiaries.Add(diary); this.Context.Comments.AddRange(comments); this.Context.Messages.AddRange(messages); this.Context.SaveChanges(); //act var result = this.adminService.AllUsers().GetAwaiter().GetResult(); int indexToTakeFrom = 0; var userToCompare = result?.ElementAt(indexToTakeFrom); //assert int totalUserDiaries = 1; var expectedAuthorOutput = new UserAdminOutputModel { Id = firstUser.Id, Comments = comments.Length, MessageCount = messages.Length, Username = firstUser.UserName, Diaries = totalUserDiaries, Role = GlobalConstants.DefaultRole }; userToCompare.Should().NotBeNull() .And.Subject.Should().BeEquivalentTo(expectedAuthorOutput); }
public void DeletePageShouldThrowArgumentException() { var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var diaryTwo = new GetShreddedDiary { Id = 2, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = user, GetShreddedDiary = diaryTwo, UserId = user.Id, GetShreddedDiaryId = diaryTwo.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.GetShreddedDiaries.Add(diaryTwo); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[1].Id; string username = user.UserName; Action act = () => this.pageService.DeletePage(diaryId, pageId, username); //assert string message = string.Join(GlobalConstants.NotValidPageDiaryConnection, diaryId, pageId); act.Should().Throw <ArgumentException>().WithMessage(message); }
public void DeletePageShouldThrowInvalidOperationException() { //arrange var firstUser = new GetShreddedUser { Id = "FirstUserId", UserName = "******", }; var secondUser = new GetShreddedUser { Id = "SecondUserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = secondUser, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = secondUser, GetShreddedDiary = diary, UserId = secondUser.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = secondUser, GetShreddedDiary = diary, UserId = secondUser.Id, GetShreddedDiaryId = diary.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; var role = new IdentityRole { Name = GlobalConstants.DefaultRole }; roleManager.CreateAsync(role).GetAwaiter(); userManager.CreateAsync(secondUser).GetAwaiter(); userManager.CreateAsync(firstUser).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[0].Id; string username = firstUser.UserName; Action act = () => this.pageService.DeletePage(diaryId, pageId, username); //assert string message = GlobalConstants.UserHasNoRights + " " + GlobalConstants.NotUser; act.Should().Throw <InvalidOperationException>().WithMessage(message); }
public void DeletePageUserShouldDeletePage() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******", }; var diary = new GetShreddedDiary { Id = 1, User = user, Summary = "Summary", Title = "Title", UserId = "UserId", }; var pages = new[] { new Page { Id = 1, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Content", Title = "Title", CreatedOn = DateTime.UtcNow }, new Page { Id = 2, GetShreddedUser = user, GetShreddedDiary = diary, UserId = user.Id, GetShreddedDiaryId = diary.Id, Content = "Some New Content", Title = "New Page", CreatedOn = DateTime.Now, } }; var role = new IdentityRole { Name = GlobalConstants.Admin }; roleManager.CreateAsync(role).GetAwaiter(); userManager.CreateAsync(user).GetAwaiter(); this.Context.Pages.AddRange(pages); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act int diaryId = diary.Id; int pageId = pages[0].Id; string username = user.UserName; this.pageService.DeletePage(diaryId, pageId, username); //assert var result = this.Context.Pages.First(); var pageLeft = pages[1]; result.Should().NotBeNull() .And.Subject.As <Page>().Title.Should().BeEquivalentTo(pageLeft.Title); }
public void DiariesShouldReturnAllDiariesFromDatabase() { //arrange var firstUser = new GetShreddedUser { UserName = "******", }; var secondUser = new GetShreddedUser { UserName = "******", }; this.UserManager.CreateAsync(firstUser).GetAwaiter(); this.UserManager.CreateAsync(secondUser).GetAwaiter(); var diaries = new GetShreddedDiary[] { new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = secondUser.Id }, new GetShreddedDiary { Title = "Two", Id = 2, CreatedOn = DateTime.Now.AddMonths(1), Summary = null, Type = new DiaryType { Id = 2, Name = "Bulking" }, UserId = secondUser.Id }, new GetShreddedDiary { Title = "Three", Id = 3, CreatedOn = DateTime.Now.AddDays(2), Summary = null, Type = new DiaryType { Id = 3, Name = "Shredded" }, UserId = firstUser.Id }, }; this.Context.GetShreddedDiaries.AddRange(diaries); this.Context.SaveChanges(); //act var result = this.ApiService.Diaries(); //assert int count = diaries.Length; result.Should().NotBeEmpty() .And.HaveCount(count) .And.AllBeOfType <ApiGetShreddedDiaryOutputModel>(); }
public void UsersShouldReturnOnlyUsersWithDiaries() { //arrange var firstUser = new GetShreddedUser { UserName = "******", }; var secondUser = new GetShreddedUser { UserName = "******", }; this.UserManager.CreateAsync(firstUser).GetAwaiter(); this.UserManager.CreateAsync(secondUser).GetAwaiter(); var diaries = new GetShreddedDiary[] { new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = secondUser.Id }, new GetShreddedDiary { Title = "Two", Id = 2, CreatedOn = DateTime.Now.AddMonths(1), Summary = null, Type = new DiaryType { Id = 2, Name = "Bulking" }, UserId = secondUser.Id }, new GetShreddedDiary { Title = "Three", Id = 3, CreatedOn = DateTime.Now.AddDays(2), Summary = null, Type = new DiaryType { Id = 3, Name = "Shredded" }, UserId = "3333" }, }; this.Context.GetShreddedDiaries.AddRange(diaries); this.Context.SaveChanges(); //act var result = this.ApiService.Users(); //assert result.Should().NotBeEmpty().And.HaveCount(1) .And.Subject.As <IEnumerable <ApiUserOutputModel> >().First() .Username.Should().Be(secondUser.UserName); result.First() .Diaries.Should().NotBeEmpty() .And.HaveCount(2).And.BeOfType <List <ApiGetShreddedDiaryOutputModel> >(); }
public void CurrentDiariesWithTypeNullShouldReturnOnlyOneTypeDiaries() { //arrange var diaries = new GetShreddedDiary[] { new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = "1111" }, new GetShreddedDiary { Title = "Two", Id = 2, CreatedOn = DateTime.Now.AddMonths(1), Summary = null, Type = new DiaryType { Id = 2, Name = "Bulking" }, UserId = "2222" }, new GetShreddedDiary { Title = "Three", Id = 3, CreatedOn = DateTime.Now.AddDays(2), Summary = null, Type = new DiaryType { Id = 3, Name = "Shredded" }, UserId = "3333" }, }; this.Context.GetShreddedDiaries.AddRange(diaries); this.Context.SaveChanges(); //act string diaryType = "Cutting"; var diaryService = GetService(); var result = diaryService.CurrentDiaries(diaryType); //assert result.Should().NotBeEmpty() .And.ContainSingle(x => x.Type.Type == "Cutting"); }
public void AddNotificationShouldSendToAllFollowersNotificationForNewPage() { //arrange var notificationUserOne = new GetShreddedUser { Id = "OneId", UserName = "******" }; var notificationUserTwo = new GetShreddedUser { Id = "TwoId", UserName = "******" }; var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, Type = new DiaryType { Id = 1, Name = "Cutting" }, UserId = "1111", }; var userDiaryOne = new GetShreddedUserDiary { GetShreddedUserId = notificationUserOne.Id, GetShreddedDiaryId = diary.Id }; var userDiaryTwo = new GetShreddedUserDiary { GetShreddedUserId = notificationUserTwo.Id, GetShreddedDiaryId = diary.Id }; diary.Followers.Add(userDiaryOne); diary.Followers.Add(userDiaryTwo); userManager.CreateAsync(notificationUserOne).GetAwaiter().GetResult(); userManager.CreateAsync(notificationUserTwo).GetAwaiter().GetResult(); this.Context.GetShreddedDiaries.Add(diary); this.Context.GetShreddedUserDiaries.Add(userDiaryOne); this.Context.GetShreddedUserDiaries.Add(userDiaryTwo); this.Context.SaveChanges(); //act int diaryId = diary.Id; string diaryTitle = diary.Title; this.notificationService.AddNotification(diaryId, null, diaryTitle); //assert var result = this.Context.GetShreddedUserDiaries.ToList(); result.Should().NotBeEmpty().And.HaveCount(2); result[0].GetShreddedUser.Should().BeEquivalentTo(notificationUserOne); result[1].GetShreddedUser.Should().BeEquivalentTo(notificationUserTwo); }
public void DeleteAllCommentsForUserShouldDeleteAll() { //arrange var user = new GetShreddedUser { Id = "UserId", UserName = "******" }; var type = new DiaryType { Id = 1, Name = "Cutting" }; var diary = new GetShreddedDiary { Title = "One", Id = 1, CreatedOn = DateTime.Now, Summary = null, ImageUrl = GlobalConstants.DefaultNoImage, Type = type, UserId = "UserId" }; var comments = new[] { new Comment { GetShreddedDiaryId = 1, GetShreddedUser = user, GetShreddedDiary = diary, CommentedOn = DateTime.Now.Date, Message = "Comment", GetShreddedUserId = user.Id, Id = 1 }, new Comment { GetShreddedDiaryId = 1, GetShreddedUser = user, GetShreddedDiary = diary, CommentedOn = DateTime.Now.Date, Message = "CommentTwo", GetShreddedUserId = user.Id, Id = 2 } }; var userManager = (UserManager <GetShreddedUser>) this.Provider.GetService(typeof(UserManager <GetShreddedUser>)); userManager.CreateAsync(user).GetAwaiter(); this.Context.Comments.AddRange(comments); this.Context.DiaryTypes.Add(type); this.Context.GetShreddedDiaries.Add(diary); this.Context.SaveChanges(); //act string username = user.UserName; this.CommentService.DeleteAllComments(username); //assert var result = this.Context.Comments.ToList(); result.Should().BeEmpty(); }