public void PatchReordersAList() { var options = new DbContextOptionsBuilder <ReadingListApiContext>() .UseInMemoryDatabase("patch_reorders_a_list") .Options; using (var context = new ReadingListApiContext(options)) { ReadingList readingList = new ReadingListFixture().ReadingList(); User user = new UserFixture().User(); user.ReadingLists.Add(readingList); context.Add(user); context.SaveChanges(); Book book1 = readingList.Books[0]; Book book2 = readingList.Books[1]; Book book3 = readingList.Books[2]; SessionHelperStub session = new SessionHelperStub(user); ReadingListController controller = new ReadingListController(context, session); PatchData data = new PatchData { BookId = book1.BookId, Ranking = 2 }; JsonResult result = controller.Patch(readingList.ReadingListId, data) as JsonResult; Assert.Equal(2, book1.Ranking); Assert.Equal(1, book2.Ranking); Assert.Equal(3, book3.Ranking); } }
public void PatchReturns401WhenUserDoesntOwnList() { var options = new DbContextOptionsBuilder <ReadingListApiContext>() .UseInMemoryDatabase("patch_returns_401") .Options; using (var context = new ReadingListApiContext(options)) { ReadingList readingList = new ReadingListFixture().ReadingList(); User user = new UserFixture().User(); User unauthorizedUser = new User { Email = "unauthorized test email", Avatar = "unauthorized test avatar", }; user.ReadingLists.Add(readingList); context.Users.AddRange(new List <User>() { user, unauthorizedUser }); context.SaveChanges(); SessionHelperStub session = new SessionHelperStub(unauthorizedUser); ReadingListController controller = new ReadingListController(context, session); PatchData data = new PatchData { BookId = readingList.Books[0].BookId, Ranking = 2 }; var result = controller.Patch(readingList.ReadingListId, data); Assert.IsType <NotFoundResult>(result); } }