public ActionResult Delete(Guid id, FormCollection collection) { try { vetRepository.DeleteVet(id); return(RedirectToAction("Index")); } catch { return(View("DeleteVet")); } }
public void DeleteVet_ReturnsProperCount() { //Arrange var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>() .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}") .Options; var sieveOptions = Options.Create(new SieveOptions()); var currentUser = new Mock <ICurrentUserService>(); currentUser.SetupGet(c => c.UserId).Returns("testuser"); var currentUserService = currentUser.Object; var fakeVetOne = new FakeVet { }.Generate(); var fakeVetTwo = new FakeVet { }.Generate(); var fakeVetThree = new FakeVet { }.Generate(); //Act using (var context = new VetClinicDbContext(dbOptions, currentUserService, new DateTimeService())) { context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree); var service = new VetRepository(context, new SieveProcessor(sieveOptions)); service.DeleteVet(fakeVetTwo); context.SaveChanges(); //Assert var vetList = context.Vets.ToList(); vetList.Should() .NotBeEmpty() .And.HaveCount(2); vetList.Should().ContainEquivalentOf(fakeVetOne); vetList.Should().ContainEquivalentOf(fakeVetThree); Assert.DoesNotContain(vetList, v => v == fakeVetTwo); context.Database.EnsureDeleted(); } }