Skip to content

Commit 9ee71f5

Browse files
committed
chore: fix tests
1 parent 07840c4 commit 9ee71f5

31 files changed

+93
-60
lines changed

src/Examples/JsonApiDotNetCoreExample/Resources/UserResource.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ private IQueryable<User> FirstCharacterFilter(IQueryable<User> users, FilterQuer
2626
{
2727
switch (filterQuery.Operation)
2828
{
29+
// need to cast to list first because getting the first
30+
// char in a string is apparently not something LINQ can translate
31+
// to a query.
2932
case "lt":
30-
return users.Where(u => u.Username[0] < filterQuery.Value[0]);
33+
return users.ToList().Where(u => u.Username.First() < filterQuery.Value[0]).AsQueryable();
3134
default:
32-
return users.Where(u => u.Username[0] == filterQuery.Value[0]);
35+
return users.ToList().Where(u => u.Username.First() == filterQuery.Value[0]).AsQueryable();
3336
}
3437
}
3538
}

src/Examples/JsonApiDotNetCoreExample/Startup.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,15 @@ public virtual void ConfigureServices(IServiceCollection services)
4444
options.LoaDatabaseValues = true;
4545
},
4646
discovery => discovery.AddCurrentAssembly());
47+
services.AddClientSerialization();
4748
}
4849

4950
public virtual void Configure(
5051
IApplicationBuilder app,
5152
ILoggerFactory loggerFactory,
5253
AppDbContext context)
5354
{
55+
5456
context.Database.EnsureCreated();
5557
app.UseJsonApi();
5658
}

test/JsonApiDotNetCoreExampleTests/Acceptance/CamelCasedModelsControllerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance
1717
[Collection("WebHostCollection")]
1818
public class CamelCasedModelsControllerTests
1919
{
20-
private TestFixture<TestStartup> _fixture;
20+
private TestFixture<Startup> _fixture;
2121
private AppDbContext _context;
2222
private Faker<CamelCasedModel> _faker;
2323

24-
public CamelCasedModelsControllerTests(TestFixture<TestStartup> fixture)
24+
public CamelCasedModelsControllerTests(TestFixture<Startup> fixture)
2525
{
2626
_fixture = fixture;
2727
_context = fixture.GetService<AppDbContext>();

test/JsonApiDotNetCoreExampleTests/Acceptance/Extensibility/CustomControllerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Extensibility
1717
[Collection("WebHostCollection")]
1818
public class CustomControllerTests
1919
{
20-
private TestFixture<TestStartup> _fixture;
20+
private TestFixture<Startup> _fixture;
2121
private Faker<TodoItem> _todoItemFaker;
2222
private Faker<Person> _personFaker;
2323

24-
public CustomControllerTests(TestFixture<TestStartup> fixture)
24+
public CustomControllerTests(TestFixture<Startup> fixture)
2525
{
2626
_fixture = fixture;
2727
_todoItemFaker = new Faker<TodoItem>()

test/JsonApiDotNetCoreExampleTests/Acceptance/Extensibility/NullValuedAttributeHandlingTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Threading.Tasks;
44
using JsonApiDotNetCore.Configuration;
55
using JsonApiDotNetCore.Models;
6+
using JsonApiDotNetCoreExample;
67
using JsonApiDotNetCoreExample.Data;
78
using JsonApiDotNetCoreExample.Models;
89
using Newtonsoft.Json;
@@ -13,11 +14,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Extensibility
1314
[Collection("WebHostCollection")]
1415
public class NullValuedAttributeHandlingTests : IAsyncLifetime
1516
{
16-
private readonly TestFixture<TestStartup> _fixture;
17+
private readonly TestFixture<Startup> _fixture;
1718
private readonly AppDbContext _dbContext;
1819
private readonly TodoItem _todoItem;
1920

20-
public NullValuedAttributeHandlingTests(TestFixture<TestStartup> fixture)
21+
public NullValuedAttributeHandlingTests(TestFixture<Startup> fixture)
2122
{
2223
_fixture = fixture;
2324
_dbContext = fixture.GetService<AppDbContext>();

test/JsonApiDotNetCoreExampleTests/Acceptance/Extensibility/RequestMetaTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@
1010
using System.Collections;
1111
using JsonApiDotNetCoreExampleTests.Startups;
1212
using JsonApiDotNetCoreExample.Resources;
13+
using JsonApiDotNetCoreExample;
1314

1415
namespace JsonApiDotNetCoreExampleTests.Acceptance.Extensibility
1516
{
1617
[Collection("WebHostCollection")]
1718
public class RequestMetaTests
1819
{
19-
private TestFixture<TestStartup> _fixture;
20+
private TestFixture<Startup> _fixture;
2021

21-
public RequestMetaTests(TestFixture<TestStartup> fixture)
22+
public RequestMetaTests(TestFixture<Startup> fixture)
2223
{
2324
_fixture = fixture;
2425
}

test/JsonApiDotNetCoreExampleTests/Acceptance/ManyToManyTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ public class ManyToManyTests
2626

2727
private static readonly Faker<Tag> _tagFaker = new Faker<Tag>().RuleFor(a => a.Name, f => f.Random.AlphaNumeric(10));
2828

29-
private TestFixture<TestStartup> _fixture;
30-
public ManyToManyTests(TestFixture<TestStartup> fixture)
29+
private TestFixture<Startup> _fixture;
30+
public ManyToManyTests(TestFixture<Startup> fixture)
3131
{
3232
_fixture = fixture;
3333
}

test/JsonApiDotNetCoreExampleTests/Acceptance/ResourceDefinitions/QueryFiltersTests.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@
33
using System.Net.Http;
44
using System.Threading.Tasks;
55
using Bogus;
6+
using JsonApiDotNetCoreExample;
67
using JsonApiDotNetCoreExample.Data;
78
using JsonApiDotNetCoreExample.Models;
9+
using Microsoft.AspNetCore.Hosting;
10+
using Microsoft.AspNetCore.TestHost;
811
using Xunit;
912

1013
namespace JsonApiDotNetCoreExampleTests.Acceptance
1114
{
1215
[Collection("WebHostCollection")]
1316
public class QueryFiltersTests
1417
{
15-
private TestFixture<TestStartup> _fixture;
18+
private TestFixture<Startup> _fixture;
1619
private AppDbContext _context;
1720
private Faker<User> _userFaker;
1821

19-
public QueryFiltersTests(TestFixture<TestStartup> fixture)
22+
public QueryFiltersTests(TestFixture<Startup> fixture)
2023
{
2124
_fixture = fixture;
2225
_context = fixture.GetService<AppDbContext>();
@@ -38,8 +41,13 @@ public async Task FiltersWithCustomQueryFiltersEquals()
3841
var route = $"/api/v1/users?filter[first-character]=eq:{firstUsernameCharacter}";
3942
var request = new HttpRequestMessage(httpMethod, route);
4043

44+
// @TODO - Use fixture
45+
var builder = new WebHostBuilder().UseStartup<Startup>();
46+
var server = new TestServer(builder);
47+
var client = server.CreateClient();
48+
4149
// Act
42-
var response = await _fixture.Client.SendAsync(request);
50+
var response = await client.SendAsync(request);
4351

4452
// Assert
4553
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
@@ -66,8 +74,13 @@ public async Task FiltersWithCustomQueryFiltersLessThan()
6674
var route = $"/api/v1/users?filter[first-character]=lt:{median}";
6775
var request = new HttpRequestMessage(httpMethod, route);
6876

77+
// @TODO - Use fixture
78+
var builder = new WebHostBuilder().UseStartup<Startup>();
79+
var server = new TestServer(builder);
80+
var client = server.CreateClient();
81+
6982
// Act
70-
var response = await _fixture.Client.SendAsync(request);
83+
var response = await client.SendAsync(request);
7184

7285
// Assert
7386
Assert.Equal(HttpStatusCode.OK, response.StatusCode);

test/JsonApiDotNetCoreExampleTests/Acceptance/ResourceDefinitions/ResourceDefinitionTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading.Tasks;
77
using Bogus;
88
using JsonApiDotNetCore.Models;
9+
using JsonApiDotNetCoreExample;
910
using JsonApiDotNetCoreExample.Data;
1011
using JsonApiDotNetCoreExample.Models;
1112
using Microsoft.EntityFrameworkCore;
@@ -18,7 +19,7 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance
1819
[Collection("WebHostCollection")]
1920
public class ResourceDefinitionTests
2021
{
21-
private TestFixture<TestStartup> _fixture;
22+
private TestFixture<Startup> _fixture;
2223
private AppDbContext _context;
2324
private Faker<User> _userFaker;
2425
private Faker<TodoItem> _todoItemFaker;
@@ -28,7 +29,7 @@ public class ResourceDefinitionTests
2829
.RuleFor(a => a.Author, f => new Author());
2930

3031
private static readonly Faker<Tag> _tagFaker = new Faker<Tag>().RuleFor(a => a.Name, f => f.Random.AlphaNumeric(10));
31-
public ResourceDefinitionTests(TestFixture<TestStartup> fixture)
32+
public ResourceDefinitionTests(TestFixture<Startup> fixture)
3233
{
3334
_fixture = fixture;
3435
_context = fixture.GetService<AppDbContext>();
@@ -73,6 +74,7 @@ public async Task Can_Create_User_With_Password()
7374
var user = _userFaker.Generate();
7475
var serializer = _fixture.GetSerializer<User>(p => new { p.Password, p.Username });
7576

77+
7678
var httpMethod = new HttpMethod("POST");
7779
var route = $"/api/v1/users";
7880

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/AttributeFilterTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Threading.Tasks;
77
using Bogus;
88
using JsonApiDotNetCore.Models;
9+
using JsonApiDotNetCoreExample;
910
using JsonApiDotNetCoreExample.Data;
1011
using JsonApiDotNetCoreExample.Models;
1112
using Newtonsoft.Json;
@@ -17,11 +18,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
1718
[Collection("WebHostCollection")]
1819
public class AttributeFilterTests
1920
{
20-
private TestFixture<TestStartup> _fixture;
21+
private TestFixture<Startup> _fixture;
2122
private Faker<TodoItem> _todoItemFaker;
2223
private readonly Faker<Person> _personFaker;
2324

24-
public AttributeFilterTests(TestFixture<TestStartup> fixture)
25+
public AttributeFilterTests(TestFixture<Startup> fixture)
2526
{
2627
_fixture = fixture;
2728
_todoItemFaker = new Faker<TodoItem>()

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/AttributeSortTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Net;
1+
using JsonApiDotNetCoreExample;
2+
using System.Net;
23
using System.Net.Http;
34
using System.Threading.Tasks;
45
using Xunit;
@@ -8,9 +9,9 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
89
[Collection("WebHostCollection")]
910
public class AttributeSortTests
1011
{
11-
private TestFixture<TestStartup> _fixture;
12+
private TestFixture<Startup> _fixture;
1213

13-
public AttributeSortTests(TestFixture<TestStartup> fixture)
14+
public AttributeSortTests(TestFixture<Startup> fixture)
1415
{
1516
_fixture = fixture;
1617
}

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/ContentNegotiation.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
1212
[Collection("WebHostCollection")]
1313
public class ContentNegotiation
1414
{
15-
private TestFixture<TestStartup> _fixture;
16-
public ContentNegotiation(TestFixture<TestStartup> fixture)
15+
private TestFixture<Startup> _fixture;
16+
public ContentNegotiation(TestFixture<Startup> fixture)
1717
{
1818
_fixture = fixture;
1919
}

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/CreatingDataTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class CreatingDataTests : EndToEndTest
2727
private readonly Faker<TodoItem> _todoItemFaker;
2828
private readonly Faker<Person> _personFaker;
2929

30-
public CreatingDataTests(TestFixture<TestStartup> fixture) : base(fixture)
30+
public CreatingDataTests(TestFixture<Startup> fixture) : base(fixture)
3131
{
3232
_fixture = fixture;
3333
_todoItemFaker = new Faker<TodoItem>()

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DeeplyNestedInclusionTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using JsonApiDotNetCore.Builders;
66
using JsonApiDotNetCore.Models;
77
using JsonApiDotNetCore.Serialization.Client;
8+
using JsonApiDotNetCoreExample;
89
using JsonApiDotNetCoreExample.Data;
910
using JsonApiDotNetCoreExample.Models;
1011
using JsonApiDotNetCoreExampleTests.Helpers.Extensions;
@@ -18,9 +19,9 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
1819
[Collection("WebHostCollection")]
1920
public class DeeplyNestedInclusionTests
2021
{
21-
private TestFixture<TestStartup> _fixture;
22+
private TestFixture<Startup> _fixture;
2223

23-
public DeeplyNestedInclusionTests(TestFixture<TestStartup> fixture)
24+
public DeeplyNestedInclusionTests(TestFixture<Startup> fixture)
2425
{
2526
_fixture = fixture;
2627
}

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DeletingDataTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
1515
[Collection("WebHostCollection")]
1616
public class DeletingDataTests
1717
{
18-
private TestFixture<TestStartup> _fixture;
18+
private TestFixture<Startup> _fixture;
1919
private AppDbContext _context;
2020
private Faker<TodoItem> _todoItemFaker;
2121

22-
public DeletingDataTests(TestFixture<TestStartup> fixture)
22+
public DeletingDataTests(TestFixture<Startup> fixture)
2323
{
2424
_fixture = fixture;
2525
_context = fixture.GetService<AppDbContext>();

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DocumentTests/Included.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Included
2424
private readonly Faker<TodoItem> _todoItemFaker;
2525
private readonly Faker<TodoItemCollection> _todoItemCollectionFaker;
2626

27-
public Included(TestFixture<TestStartup> fixture)
27+
public Included(TestFixture<Startup> fixture)
2828
{
2929
_context = fixture.GetService<AppDbContext>();
3030
_personFaker = new Faker<Person>()

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DocumentTests/Meta.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec.DocumentTests
1818
[Collection("WebHostCollection")]
1919
public class Meta
2020
{
21-
private TestFixture<TestStartup> _fixture;
21+
private TestFixture<Startup> _fixture;
2222
private AppDbContext _context;
23-
public Meta(TestFixture<TestStartup> fixture)
23+
public Meta(TestFixture<Startup> fixture)
2424
{
2525
_fixture = fixture;
2626
_context = fixture.GetService<AppDbContext>();

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DocumentTests/PagingTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class PagingTests
2020
private readonly AppDbContext _context;
2121
private readonly Faker<TodoItem> _todoItemFaker;
2222

23-
public PagingTests(TestFixture<TestStartup> fixture)
23+
public PagingTests(TestFixture<Startup> fixture)
2424
{
2525
_context = fixture.GetService<AppDbContext>();
2626
_todoItemFaker = new Faker<TodoItem>()

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/DocumentTests/Relationships.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec.DocumentTests
1717
[Collection("WebHostCollection")]
1818
public class Relationships
1919
{
20-
private TestFixture<TestStartup> _fixture;
20+
private TestFixture<Startup> _fixture;
2121
private AppDbContext _context;
2222
private Faker<TodoItem> _todoItemFaker;
2323

24-
public Relationships(TestFixture<TestStartup> fixture)
24+
public Relationships(TestFixture<Startup> fixture)
2525
{
2626
_fixture = fixture;
2727
_context = fixture.GetService<AppDbContext>();

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/EndToEndTest.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
using System;
1+
using System;
22
using System.Linq.Expressions;
33
using System.Net;
44
using System.Net.Http;
55
using System.Net.Http.Headers;
66
using System.Threading.Tasks;
77
using JsonApiDotNetCore.Models;
88
using JsonApiDotNetCore.Serialization.Client;
9+
using JsonApiDotNetCoreExample;
910
using JsonApiDotNetCoreExample.Data;
1011
using Microsoft.AspNetCore.Hosting;
1112
using Microsoft.AspNetCore.TestHost;
@@ -17,9 +18,9 @@ public class EndToEndTest
1718
{
1819
public static MediaTypeHeaderValue JsonApiContentType = new MediaTypeHeaderValue("application/vnd.api+json");
1920
private HttpClient _client;
20-
protected TestFixture<TestStartup> _fixture;
21+
protected TestFixture<Startup> _fixture;
2122
protected readonly IResponseDeserializer _deserializer;
22-
public EndToEndTest(TestFixture<TestStartup> fixture)
23+
public EndToEndTest(TestFixture<Startup> fixture)
2324
{
2425
_fixture = fixture;
2526
_deserializer = GetDeserializer();
@@ -71,7 +72,7 @@ public IResponseDeserializer GetDeserializer()
7172
}
7273

7374
protected void AssertEqualStatusCode(HttpStatusCode expected, HttpResponseMessage response)
74-
{
75+
{
7576
Assert.True(expected == response.StatusCode, $"Got {response.StatusCode} status code with payload instead of {expected}. Payload: {response.Content.ReadAsStringAsync().Result}");
7677
}
7778
}

test/JsonApiDotNetCoreExampleTests/Acceptance/Spec/FetchingDataTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ namespace JsonApiDotNetCoreExampleTests.Acceptance.Spec
1717
[Collection("WebHostCollection")]
1818
public class FetchingDataTests
1919
{
20-
private TestFixture<TestStartup> _fixture;
20+
private TestFixture<Startup> _fixture;
2121
private Faker<TodoItem> _todoItemFaker;
2222
private Faker<Person> _personFaker;
2323

24-
public FetchingDataTests(TestFixture<TestStartup> fixture)
24+
public FetchingDataTests(TestFixture<Startup> fixture)
2525
{
2626
_fixture = fixture;
2727
_todoItemFaker = new Faker<TodoItem>()

0 commit comments

Comments
 (0)