Skip to content

Commit 3b5426b

Browse files
committed
tested Delete (NotAllowed) and profile Create
1 parent 2bf5cb4 commit 3b5426b

5 files changed

Lines changed: 45 additions & 17 deletions

File tree

Wissance.WebApiToolkit/Wissance.WebApiToolkit.TestApp/DataInitializer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ private static void InitUsers(ModelContext context)
9696
Roles = context.Roles.Where(r => roles.Contains(r.Id)).ToList(),
9797
Profile = new ProfileEntity()
9898
{
99+
Id = count,
99100
Address = $"somewhere i belong {count}",
100101
Bio = $"this a sample of BIO information {count}",
101102
Photo = $"here we should have a base-64 encoded img {count}"

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Tests/Controllers/TestBasicCrudController.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,7 @@ public async Task TestCreateAsync()
3838
TaxNumber = "999091234",
3939
Codes = new List<int>(){1, 3}
4040
};
41-
JsonContent content = JsonContent.Create(organization);
42-
HttpResponseMessage resp = await client.PostAsync("api/Organization", content);
43-
Assert.Equal(HttpStatusCode.Created, resp.StatusCode);
44-
string orgCreateDataStr = await resp.Content.ReadAsStringAsync();
45-
Assert.True(orgCreateDataStr.Length > 0);
46-
OperationResultDto<OrganizationDto> result = JsonConvert.DeserializeObject<OperationResultDto<OrganizationDto>>(orgCreateDataStr);
41+
OperationResultDto<OrganizationDto> result = await TestBasicHttpInteraction.ExecCreateAndCheckAsync(client, "api/Organization", organization, HttpStatusCode.Created);
4742
Assert.NotNull(result);
4843
Assert.True(result.Success);
4944
// todo(UMV): perform body check

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Tests/Controllers/TestConfiguredController.cs

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,35 @@ public async Task TestReadSuccessfullyAsync()
2525
[Fact]
2626
public async Task TestCreateSuccessfullyAsync()
2727
{
28-
28+
using (HttpClient client = Application.CreateClient())
29+
{
30+
ProfileDto creatingProfile = new ProfileDto()
31+
{
32+
Address = "asylum on Syberian trakt 7 km",
33+
Bio = "Psycho",
34+
Name = "wtf",
35+
Photo = "axaxaxaxaxaxaxaxaxaxaxa"
36+
};
37+
OperationResultDto<ProfileDto> result = await TestBasicHttpInteraction.ExecCreateAndCheckAsync(client, "api/Profile", creatingProfile, HttpStatusCode.Created);
38+
Assert.NotNull(result);
39+
}
2940
}
3041

3142
[Fact]
32-
public async Task TestUpdateSuccessfulyAsync()
43+
public async Task TestUpdateSuccessfullyAsync()
3344
{
3445

3546
}
3647

37-
[Fact]
38-
public async Task TestDeleteFailsAsync()
48+
[Theory]
49+
[InlineData(1)]
50+
public async Task TestDeleteFailsAsync(int profileId)
3951
{
40-
52+
using (HttpClient client = Application.CreateClient())
53+
{
54+
HttpResponseMessage resp = await client.DeleteAsync($"api/Profile/{profileId}");
55+
Assert.Equal(HttpStatusCode.MethodNotAllowed, resp.StatusCode);
56+
}
4157
}
4258
}
4359
}

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Tests/Controllers/TestCrudControllerWithDynamicAutoManager.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ public async Task TestCreate()
4141
OrganizationId = 4,
4242
Roles = new []{2, 3}
4343
};
44-
JsonContent content = JsonContent.Create(newUser);
45-
HttpResponseMessage createUserResponse = await client.PostAsync("api/User", content);
46-
Assert.Equal(HttpStatusCode.Created, createUserResponse.StatusCode);
47-
string userCreateDataStr = await createUserResponse.Content.ReadAsStringAsync();
48-
Assert.True(userCreateDataStr.Length > 0);
49-
OperationResultDto<UserDto> result = JsonConvert.DeserializeObject<OperationResultDto<UserDto>>(userCreateDataStr);
44+
OperationResultDto<UserDto> result = await TestBasicHttpInteraction.ExecCreateAndCheckAsync(client, "api/User", newUser, HttpStatusCode.Created);
5045
Assert.NotNull(result);
5146
Assert.True(result.Success);
5247
UserChecker.Check(newUser, result.Data);

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Tests/Utils/Operations/TestBasicHttpInteraction.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Net;
22
using System.Net.Http;
3+
using System.Net.Http.Json;
34
using System.Threading.Tasks;
45
using Newtonsoft.Json;
56
using Wissance.WebApiToolkit.Dto;
@@ -26,5 +27,25 @@ public static async Task<OperationResultDto<PagedDataDto<T>>> ExecReadManyAndChe
2627

2728
return null;
2829
}
30+
31+
public static async Task<OperationResultDto<T>> ExecCreateAndCheckAsync<T>(HttpClient client, string url, T dto,
32+
HttpStatusCode expectedStatusCode) where T : class
33+
{
34+
JsonContent content = JsonContent.Create(dto);
35+
HttpResponseMessage resp = await client.PostAsync(url, content);
36+
Assert.Equal(expectedStatusCode, resp.StatusCode);
37+
string createdDataStr = await resp.Content.ReadAsStringAsync();
38+
Assert.True(createdDataStr.Length > 0);
39+
if (expectedStatusCode == HttpStatusCode.Created)
40+
{
41+
OperationResultDto<T> result = JsonConvert.DeserializeObject<OperationResultDto<T>>(createdDataStr);
42+
Assert.NotNull(result);
43+
Assert.True(result.Success);
44+
return result;
45+
}
46+
47+
return null;
48+
}
49+
2950
}
3051
}

0 commit comments

Comments
 (0)