Exemple #1
0
        //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);
        }
Exemple #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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }