Skip to content
This repository was archived by the owner on Nov 13, 2021. It is now read-only.

Commit 4d8ef60

Browse files
fgheyselsMassimoC
authored andcommitted
Fix/async tests (#88)
* Use async/await in OpenApiTest instead of calling .Result * Improved TeamsControllerTest * Use async/await instead of blocking on getting the .Result property in PlayersTests * Improved AutomapperTest: explicitly check the Id property mapping
1 parent ed9db6c commit 4d8ef60

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

maturity-level-one/tests/Codit.IntegrationTest/OpenApiTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public async Task OpenApi_OperationId_Test()
3232
//Assert
3333
response.StatusCode.Should().Be(HttpStatusCode.OK);
3434

35-
var swaggerDoc = JObject.Parse(response.Content.ReadAsStringAsync().Result);
35+
var swaggerDoc = JObject.Parse(await response.Content.ReadAsStringAsync());
3636
var paths = (JObject)swaggerDoc.SelectToken("paths");
3737
paths.Count.Should().Be(6);
3838

@@ -62,6 +62,7 @@ public async Task OpenApi_OperationId_Test()
6262
((string)item.Value.SelectToken("get.operationId")).Should().Be("Teams_GetTeam");
6363
break;
6464
default:
65+
Assert.True(false, $"{item.Key} is an unexpected path");
6566
break;
6667
}
6768
}

maturity-level-one/tests/Codit.IntegrationTest/PlayersTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public async Task UpdatePlayer_NoContent_TestAsync()
136136

137137
var request = new HttpRequestMessage(new HttpMethod("GET"), $"/world-cup/v1/players/{playerId}");
138138
var response = await _httpClient.SendAsync(request);
139-
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
139+
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
140140
request = TestExtensions.GetJsonRequest(player, "PUT", $"/world-cup/v1/players/{playerId}");
141141

142142
//Act
@@ -146,7 +146,7 @@ public async Task UpdatePlayer_NoContent_TestAsync()
146146
response.StatusCode.Should().Be(HttpStatusCode.NoContent);
147147
request = new HttpRequestMessage(new HttpMethod("GET"), $"/world-cup/v1/players/{playerId}");
148148
response = await _httpClient.SendAsync(request);
149-
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
149+
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
150150

151151
updatedDto.FirstName.Should().Be(actualDto.FirstName);
152152
updatedDto.Description.Should().Be(actualDto.Description);
@@ -166,7 +166,7 @@ public async Task UpdatePlayerIncremental_NoContent_TestAsync()
166166

167167
var request = new HttpRequestMessage(new HttpMethod("GET"), $"/world-cup/v1/players/{playerId}");
168168
var response = await _httpClient.SendAsync(request);
169-
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
169+
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
170170
request = TestExtensions.GetJsonRequest(player, "PATCH", $"/world-cup/v1/players/{playerId}");
171171

172172
// Act
@@ -176,7 +176,7 @@ public async Task UpdatePlayerIncremental_NoContent_TestAsync()
176176
response.StatusCode.Should().Be(HttpStatusCode.NoContent);
177177
request = new HttpRequestMessage(new HttpMethod("GET"), $"/world-cup/v1/players/{playerId}");
178178
response = await _httpClient.SendAsync(request);
179-
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
179+
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
180180
updatedDto.FirstName.Should().Be(actualDto.FirstName);
181181
updatedDto.Description.Should().NotBe(actualDto.Description);
182182
updatedDto.IsTopPlayer.Should().Be(actualDto.IsTopPlayer);
@@ -194,15 +194,15 @@ public async Task UpdatePlayerIncrementalJsonPatch_Ok_TestAsync()
194194

195195
var request = new HttpRequestMessage(new HttpMethod("GET"), $"/world-cup/v1/players/{playerId}");
196196
var response = await _httpClient.SendAsync(request);
197-
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
197+
var actualDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
198198
request = TestExtensions.GetJsonRequest(player, "PATCH", $"/world-cup/v1/players/{playerId}/update", ContentTypeNames.Application.JsonPatch);
199199

200200
//Act
201201
response = await _httpClient.SendAsync(request);
202202

203203
//Assert
204204
response.StatusCode.Should().Be(HttpStatusCode.OK);
205-
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(response.Content.ReadAsStringAsync().Result);
205+
var updatedDto = JsonConvert.DeserializeObject<PlayerDto>(await response.Content.ReadAsStringAsync());
206206

207207
updatedDto.FirstName.Should().Be(actualDto.FirstName);
208208
updatedDto.Description.Should().NotBe(actualDto.Description);

maturity-level-one/tests/Codit.UnitTest/Controllers/TeamsControllerTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@
66
using Microsoft.AspNetCore.Mvc;
77
using System;
88
using System.Collections.Generic;
9+
using System.Threading.Tasks;
910
using Xunit;
1011

1112
namespace Codit.UnitTest.Controllers
1213
{
1314
public class TeamsControllerTest
1415
{
15-
TeamsController _controller;
16-
IWorldCupRepository _service;
16+
private readonly TeamsController _controller;
1717

1818
public TeamsControllerTest()
1919
{
20-
_service = new WorldCupRepositoryFake();
21-
_controller = new TeamsController(_service);
20+
_controller = new TeamsController(new WorldCupRepositoryFake());
2221
AutoMapperConfig.Initialize();
2322
}
2423

2524
[Fact]
26-
public void GetTeams_Test()
25+
public async Task GetTeams_Test()
2726
{
28-
//Arrange
2927
//Act
30-
var okTeams = _controller.GetTeams().Result as OkObjectResult;
28+
var okTeams = (await _controller.GetTeams()) as OkObjectResult;
29+
3130
//Assert
31+
Assert.NotNull(okTeams);
3232
okTeams.Value.Should().BeOfType(typeof(List<TeamDto>));
3333
((List<TeamDto>)okTeams.Value).Count.Should().Be(2);
3434
}

maturity-level-one/tests/Codit.UnitTest/Mappings/AutomapperTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public void Map_PlayerToDto_Test()
2020
//Arrange
2121
var objInstance = new Player
2222
{
23+
Id = 17,
2324
FirstName = "Mario",
2425
Description = "He plays for Nice.",
2526
IsTopPlayer = true,

0 commit comments

Comments
 (0)