示例#1
0
 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;
 }
示例#2
0
        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);
            }
        }