public async Task SaveAndLoadChampionship() { 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(championship)); mockChampionshipRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => championshipsList.FirstOrDefault(c => c.Id == id)); var championshipService = new ChampionshipService(mockChampionshipRepo.Object, mockCountryRepo.Object); var championshipViewModel = new ChampionshipViewModel { Name = "Serie A", FoundedOn = DateTime.Now, CountryId = 1, CountryName = "Italy", Description = "One of the best championships in the world" }; await championshipService.CreateAsync(championshipViewModel); var savedChampionship = championshipService.Get(10, false); var lastSavedChampionship = championshipService.GetAll().LastOrDefault(); Assert.Null(savedChampionship); Assert.Equal("Serie A", lastSavedChampionship.Name); Assert.Equal("Italy", championshipViewModel.CountryName); Assert.Equal("One of the best championships in the world", championshipViewModel.Description); }
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)); }
public async Task SaveAndLoadChampionshipsWithRelatedData() { 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 })); var championshipService = new ChampionshipService(mockChampionshipRepo.Object, mockCountryRepo.Object); var championshipViewModel = new ChampionshipViewModel { Name = "Serie A", FoundedOn = DateTime.Now, CountryId = 1 }; await championshipService.CreateAsync(championshipViewModel); var savedChampionships = championshipService.GetAll(); Assert.True(savedChampionships.Count() == 1); }
public IList <Championship> Get() { return(_championship.GetAll()); }