//private static Func<int,Film> getFilmyById = i => new Film { Id = 1, Name = "Pulp Fiction", DirectorId = 1 }; static RouteHandlers() { ListFilmsHandler = () => ListFilmsRoute.Handle(); ListFilmByIdHandler = filmId => ListFilmByIdRoute.Handle(filmId, //Write some SQL to get the film fId => new Film { Id = 1, Name = "Pulp Fiction", DirectorId = 1 }, //Write some SQL to get the director dirId => new Director { Name = "Steven Spielberg" }, //Write some SQL to get the cast fId => new[] { new CastMember { Name = "John Travolta" }, new CastMember { Name = "Samuel L Jackson" } } ); UpdateFilmHandler = (filmId, film) => UpdateFilmRoute.Handle( filmId, film, () => new Random().Next() % 2 == 0, fId => new Film { Id = 1, Name = "Pulp Fiction", DirectorId = 1 } ); CreateFilmHandler = film => CreateFilmRoute.Handle(film, () => new Random().Next() % 2 == 0); DeleteFilmHandler = id => DeleteFilmRoute.Handle(id, () => new Random().Next() % 2 == 0); }
public async Task Should_return_404_when_no_film_found_via_get_film_by_id() { //Given //No mock library required to fake the GetFilmByIdDelegate, GetDirectorById, GetCastMembersByFilmId we just invoke a func RouteHandlers.ListFilmByIdHandler = id => ListFilmByIdRoute.Handle(id, filmid => null, i => new Director(), filmId => new[] { new CastMember() }); //When var response = await this.client.GetAsync("/api/delegate/films/1"); //Then Assert.Equal(404, (int)response.StatusCode); }
public async Task Should_get_film_by_id() { //Given //No mock library required to fake the GetFilmByIdDelegate, GetDirectorById, GetCastMembersByFilmId we just invoke a func RouteHandlers.ListFilmByIdHandler = id => ListFilmByIdRoute.Handle(id, filmid => new Film { Name = "Blade Runner" }, i => new Director(), filmId => new[] { new CastMember() }); //When var response = await this.client.GetAsync("/api/delegate/films/1"); var contents = await response.Content.ReadAsStringAsync(); //Then Assert.Contains("Blade Runner", contents, StringComparison.OrdinalIgnoreCase); }
static RouteHandlers() { CreateFilmHandler = film => CreateFilmRoute.Handle(film, () => ValidUserQuery.Execute()); DeleteFilmHandler = id => DeleteFilmRoute.Handle(id, () => ValidUserQuery.Execute()); ListFilmByIdHandler = id => ListFilmByIdRoute.Handle( id, filmId => ListFilmsByIdQuery.ListFilmsByIdQuery.Execute(id), dirId => GetDirectorByIdQuery.Execute(dirId), filmId => GetCastByFilmIdQuery.Execute(id) ); ListFilmsHandler = () => ListFilmsRoute.Handle(); UpdateFilmHandler = (id, film) => UpdateFilmRoute.Handle( id, film, () => ValidUserQuery.Execute(), filmId => ListFilmsByIdQuery.ListFilmsByIdQuery.Execute(filmId)); }