public async Task UpdateAndSaveTest() { var pub1 = new Publishers() { Pub_id = "1", Pub_name = "test pub 1" }; var pub2 = new Publishers() { Pub_id = "2", Pub_name = "test pub 2" }; var pubs = new List <Publishers> { pub1, pub2 }; var newpub2 = new Publishers() { Pub_id = "2", Pub_name = "test pub 2" }; var fakeRepositoryMock = new Mock <IPublishersRepository>(); fakeRepositoryMock.Setup(x => x.Update(It.IsAny <Publishers>())).Callback <Publishers>(arg => pubs[1] = arg); var pubService = new PublishersService(fakeRepositoryMock.Object); await pubService.UpdateAndSave(newpub2); Assert.Equal("test pub 2", pubs[1].Pub_name); }
public async Task <IActionResult> Update(string id, [Bind("Pub_id,Pub_name")] Publishers room) { if (id != room.Pub_id) { return(NotFound()); } if (ModelState.IsValid) { try { await _pubService.UpdateAndSave(room); } catch (DbUpdateConcurrencyException) { if (!_pubService.PublisherExists(room.Pub_id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(room)); }