Esempio n. 1
0
        public async Task ShouldBePossibleToCreateSerie()
        {
            SerieBuilder serieData = new SerieBuilder().CreateSerieForTest();

            var httpResponse = await this.restApi
                               .PostAsJsonAsync(this.baseUrl, serieData.Build());

            _ = httpResponse.StatusCode
                .Should()
                .Be(HttpStatusCode.Created);

            Serie response = JsonConvert.DeserializeObject <Serie>(await httpResponse.Content.ReadAsStringAsync());

            response
            .Should()
            .BeEquivalentTo(serieData.Build());
        }
        public async Task ShouldBePossibleToDeleteAnSerie()
        {
            SerieBuilder serieDataExpected = new SerieBuilder().CreateSerieForTest();

            var httpResponse = await this.restApi
                               .PostAsJsonAsync(this.baseUrl, serieDataExpected.Build());

            Serie response = JsonConvert.DeserializeObject <Serie>(await httpResponse.Content.ReadAsStringAsync());


            httpResponse = await this.restApi
                           .DeleteAsync($"{this.baseUrl}/{response._Id}");

            _ = httpResponse.StatusCode
                .Should()
                .Be(HttpStatusCode.NoContent);
        }
Esempio n. 3
0
        public async Task ShouldNotBePossibleToUpdateAnSerie()
        {
            SerieBuilder serieData = new SerieBuilder().CreateSerieForTest()
                                     .WithName("New Serie")
                                     .WithYear("New Year")
                                     .WithSeason("New Season")
                                     .WithGenre("New Genre");


            var httpResponse = await this.restApi
                               .PutAsJsonAsync($"{this.baseUrl}/WrongID", serieData.Build());

            _ = httpResponse.StatusCode
                .Should()
                .Be(HttpStatusCode.NotFound);

            var response = JObject.Parse(await httpResponse.Content.ReadAsStringAsync());

            ((string)response.SelectToken("message"))
            .Should()
            .Be("Not Found");
        }
Esempio n. 4
0
        public async Task ShouldBePossibleToObtainAnSerie()
        {
            var          id        = "77e0373c6f35bd826f47e977";
            SerieBuilder serieData = new SerieBuilder().CreateSerieForTest()
                                     .WithName("The Flash")
                                     .WithYear("2014")
                                     .WithSeason("4")
                                     .WithGenre("action");

            var httpResponse = await this.restApi
                               .GetAsync($"{this.baseUrl}/{id}");

            _ = httpResponse.StatusCode
                .Should()
                .Be(HttpStatusCode.OK);

            Serie response = JsonConvert.DeserializeObject <Serie>(await httpResponse.Content.ReadAsStringAsync());

            response
            .Should()
            .BeEquivalentTo(serieData.Build(), options => options.Excluding(serie => serie._Id));
        }
Esempio n. 5
0
    public static Serie addSerie(Serie s, bool type_anime)
    {
        SerieBuilder builder = new SerieBuilder();
        MediaType    media_type;
        string       title;
        Serie        serie = null;

        if (type_anime == false)
        {
            media_type = MediaType.Serie;
            title      = (s != null ? "EDITAR" : "NOVO") + " SÉRIE";
        }
        else
        {
            media_type = MediaType.Anime;
            title      = (s != null ? "EDITAR" : "NOVO") + " ANIME";
        }

        Console.Clear();
        Utils.showAppTitle();
        Console.WriteLine("\n" + title + "\n");
        Utils.showFooter();

        try{
            string name, description, link, gender;
            int    classification, num_episodes, num_seasons;

            Console.WriteLine("- Informe o nome:\n");
            name = Console.ReadLine();

            Console.WriteLine("\n- Informe a descrição:\n");
            description = Console.ReadLine();

            Console.WriteLine("\n- Informe a classificação (0, 10, 12, 14, 16 ou 18):\n");
            classification = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("\n- Informe o link da imagem de capa:\n");
            link = Console.ReadLine();

            Console.WriteLine("\n- Informe o número de episódios:\n");
            num_episodes = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("\n- Informe o número de temporadas:\n");
            num_seasons = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("\n- Informe o gênero:\n");
            gender = Console.ReadLine();

            serie = builder
                    .id(s != null ? s.getId() : null)
                    .name(name)
                    .description(description)
                    .classification(classification)
                    .link(link)
                    .gender(new Gender(media_type, gender))
                    .numSeasons(num_seasons)
                    .numEpisodes(num_episodes)
                    .build();
        }
        catch (Exception e) { }

        return(serie);
    }
Esempio n. 6
0
        public async Task ShouldNotBePossibleToCreateSerieWithoutRequiredInformations(SerieBuilder serieData)
        {
            var httpResponse = await this.restApi
                               .PostAsJsonAsync(this.baseUrl, serieData.Build());

            var response = JObject.Parse(await httpResponse.Content.ReadAsStringAsync());

            _ = httpResponse.StatusCode
                .Should()
                .Be(HttpStatusCode.BadRequest);

            ((string)response.SelectToken("message"))
            .Should()
            .Be("Missing required property: name/year/season or genre");
        }