public async Task DeleteNotExistingChampionship() { var countriesList = new List <Country> { new Country { Id = 1, Name = "Italy", Code = "IT" } }; var championshipsList = new List <Championship>(); var mockCountryRepo = new Mock <IRepository <Country> >(); var mockChampionshipRepo = new Mock <IRepository <Championship> >(); mockChampionshipRepo.Setup(r => r.All()).Returns(championshipsList.AsQueryable()); var championshipService = new ChampionshipService(mockChampionshipRepo.Object, mockCountryRepo.Object); await Assert.ThrowsAsync <Exception>(() => championshipService.DeleteAsync(1)); }
public async Task SaveAndDeleteChampionship() { var countriesList = new List <Country> { new Country { Id = 1, Name = "Italy", Code = "IT" } }; var championshipsList = new List <Championship>(); var mockCountryRepo = new Mock <IRepository <Country> >(); mockCountryRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => countriesList.FirstOrDefault(c => c.Id == id)); var mockChampionshipRepo = new Mock <IRepository <Championship> >(); mockChampionshipRepo.Setup(r => r.All()).Returns(championshipsList.AsQueryable()); mockChampionshipRepo.Setup(r => r.AddAsync(It.IsAny <Championship>())).Callback <Championship>(championship => championshipsList.Add(new Championship { Id = 1, Name = championship.Name, Country = championship.Country })); mockChampionshipRepo.Setup(r => r.Delete(It.IsAny <Championship>())).Callback <Championship>(championship => championshipsList.Remove(championship)); var championshipService = new ChampionshipService(mockChampionshipRepo.Object, mockCountryRepo.Object); var championshipViewModel = new ChampionshipViewModel { Name = "Serie A", CountryId = 1 }; await championshipService.CreateAsync(championshipViewModel); await championshipService.DeleteAsync(1); Assert.Empty(championshipService.GetAll(false)); }