public async Task DeleteAsync_WhenCalled_DeleteSeasonFromDb() { var season = new Season { Id = 1 }; await _seasonService.DeleteAsync(season); _seasonRepository.Verify(s => s.Remove(season), Times.Once); _unitOfWork.Verify(u => u.CompleteAsync(), Times.Once); }
public async Task DeleteNotExistingSeason() { var championshipsList = new List <Championship> { new Championship { Id = 1, Name = "Premier League" } }; var seasonsList = new List <Season>(); var mockChampionshipRepo = new Mock <IRepository <Championship> >(); var mockSeasonRepo = new Mock <IRepository <Season> >(); mockSeasonRepo.Setup(r => r.All()).Returns(seasonsList.AsQueryable()); var seasonService = new SeasonService(mockSeasonRepo.Object, mockChampionshipRepo.Object); await Assert.ThrowsAsync <Exception>(() => seasonService.DeleteAsync(1)); }
public async Task SaveAndDeleteSeason() { var championshipsList = new List <Championship> { new Championship { Id = 1, Name = "Premier League" } }; var seasonsList = new List <Season>(); var mockChampionshipRepo = new Mock <IRepository <Championship> >(); mockChampionshipRepo.Setup(r => r.Get(It.IsAny <int>())).Returns <int>(id => championshipsList.FirstOrDefault(c => c.Id == id)); var mockSeasonRepo = new Mock <IRepository <Season> >(); mockSeasonRepo.Setup(r => r.All()).Returns(seasonsList.AsQueryable()); mockSeasonRepo.Setup(r => r.AddAsync(It.IsAny <Season>())).Callback <Season>(season => seasonsList.Add(new Season { Id = 1, Name = season.Name, Championship = season.Championship })); mockSeasonRepo.Setup(r => r.Delete(It.IsAny <Season>())).Callback <Season>(season => seasonsList.Remove(season)); var seasonService = new SeasonService(mockSeasonRepo.Object, mockChampionshipRepo.Object); var seasonViewModel = new SeasonViewModel { Name = "2020/21", ChampionshipId = 1 }; await seasonService.CreateAsync(seasonViewModel); await seasonService.DeleteAsync(1); Assert.Empty(seasonService.GetAll(false)); }