public MoviesService( RunnerReadWriteDbAsync <GetMovieDetailsRequest, MovieWithDetailsDto> runnerMovieDetails, RunnerReadDbAsync <GetMoviesFromLocalRequest, IEnumerable <MovieListItemDto> > runnerMoviesFromLocal, RunnerReadDbAsync <GetMovieImagesRequest, IEnumerable <MovieImageDto> > runnerMovieImages, RunnerWriteDbAsync <UpdateUserMovieStatusRequest> runnerUserMovieStatus, RunnerReadWriteDbAsync <GetMovieRatingSourceUrlRequest, MovieRatingSourceUrlDto> runnerGetRatingSourceUrl, RunnerReadWriteDbAsync <GetMoviesFromSuggestedTitleRequest, IEnumerable <MovieListItemDto> > runnerMoviesWithSuggestedTitle, RunnerWriteDbAsync <UpdateTopMoviesRequest> runnerUpdateTopMovies ) { this.runnerMovieDetails = runnerMovieDetails; this.runnerMoviesFromLocal = runnerMoviesFromLocal; this.runnerMovieImages = runnerMovieImages; this.runnerUserMovieStatus = runnerUserMovieStatus; this.runnerGetRatingSourceUrl = runnerGetRatingSourceUrl; this.runnerMoviesWithSuggestedTitle = runnerMoviesWithSuggestedTitle; this.runnerUpdateTopMovies = runnerUpdateTopMovies; }
public async Task RunActionAsync(int input, bool hasErrors) { //SETUP var options = EfInMemory.CreateNewContextOptions(); using (var context = new EfCoreContext(options)) { var action = new MockBizActionAsync(context); var runner = new RunnerWriteDbAsync <int, string>(action, context); //ATTEMPT var output = await runner.RunActionAsync(input); //VERIFY output.ShouldEqual(input.ToString()); runner.HasErrors.ShouldEqual(hasErrors); context.Authors.Count().ShouldEqual(hasErrors ? 0 : 1); } }