From a9e4c628c93e46f0c2efa7bb14e3fa769c838b6f Mon Sep 17 00:00:00 2001 From: StevanFreeborn Date: Tue, 5 Jul 2022 15:29:48 -0500 Subject: [PATCH] still working on tests --- .../CharactersControllerIntegrationTests.cs | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/server.tests/integrationTests/CharactersControllerIntegrationTests.cs b/server.tests/integrationTests/CharactersControllerIntegrationTests.cs index fe5c6ae..11ffbc5 100644 --- a/server.tests/integrationTests/CharactersControllerIntegrationTests.cs +++ b/server.tests/integrationTests/CharactersControllerIntegrationTests.cs @@ -1,26 +1,51 @@ using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; +using server.Models; using System.Net; +using System.Text.Json; namespace server.tests.integrationTests { public class CharactersControllerIntegrationTests { private readonly HttpClient _client; + private readonly JsonSerializerOptions _serializerOptions; public CharactersControllerIntegrationTests() { var webAppFactory = new WebApplicationFactory(); + _client = webAppFactory.CreateDefaultClient(); + _client.DefaultRequestHeaders.Add("x-api-version", "1"); + + _serializerOptions = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true + }; } [Fact] - public async Task GetCharacters_RetrievesAllCharacters_Returns200StatusCodeWithCharacters() + public async Task GetCharacters_RetrieveAllCharacters_Returns200StatusCodeWithCharacters() { var response = await _client.GetAsync("/api/characters"); + var data = await response.Content.ReadAsStreamAsync(); + + var characters = JsonSerializer.Deserialize>(data); + response.StatusCode.Should().Be(HttpStatusCode.OK); + characters.Should().NotBeNull(); + characters.Should().HaveCountGreaterThan(0); + response.Headers.Should().ContainKey("X-Rate-Limit-Limit"); + response.Headers.Should().ContainKey("X-Rate-Limit-Remaining"); + response.Headers.Should().ContainKey("X-Rate-Limit-Reset"); + } + + [Fact] + public async Task GetCharacters_RetrieveSeasonOneCharacters_Returns200StatusCodeWithCharacters() + { + return; } } }