diff --git a/Directory.Build.props b/Directory.Build.props
deleted file mode 100644
index d19acbdf..00000000
--- a/Directory.Build.props
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- 3.6.143
- all
-
-
-
\ No newline at end of file
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 00000000..646757e3
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,43 @@
+
+
+ true
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
\ No newline at end of file
diff --git a/Linq2GraphQL.sln b/Linq2GraphQL.sln
index 1a73a37c..e4579a6a 100644
--- a/Linq2GraphQL.sln
+++ b/Linq2GraphQL.sln
@@ -8,10 +8,10 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".items", ".items", "{7A8567FE-C13A-434E-AFA6-5A8F55F2C6B5}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
- Directory.Build.props = Directory.Build.props
nuget.config = nuget.config
README.md = README.md
version.json = version.json
+ Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Linq2GraphQL.TestServer", "test\Linq2GraphQL.TestServer\Linq2GraphQL.TestServer.csproj", "{AD8291B6-5979-4C43-B785-EAD4FF93C564}"
diff --git a/docs/Linq2GraphQL.Docs/Linq2GraphQL.Docs.csproj b/docs/Linq2GraphQL.Docs/Linq2GraphQL.Docs.csproj
index 2a8468eb..0fb7dd7f 100644
--- a/docs/Linq2GraphQL.Docs/Linq2GraphQL.Docs.csproj
+++ b/docs/Linq2GraphQL.Docs/Linq2GraphQL.Docs.csproj
@@ -1,4 +1,4 @@
-
+
net8.0
@@ -11,12 +11,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -27,7 +27,7 @@
-
+
wwwroot\_content\razor_samples\%(DistFiles.RecursiveDir)%(DistFiles.Filename)%(DistFiles.Extension)
PreserveNewest
true
diff --git a/src/Linq2GraphQL.Client.Subscriptions/Linq2GraphQL.Client.Subscriptions.csproj b/src/Linq2GraphQL.Client.Subscriptions/Linq2GraphQL.Client.Subscriptions.csproj
index d2d3ad5d..4b5244eb 100644
--- a/src/Linq2GraphQL.Client.Subscriptions/Linq2GraphQL.Client.Subscriptions.csproj
+++ b/src/Linq2GraphQL.Client.Subscriptions/Linq2GraphQL.Client.Subscriptions.csproj
@@ -1,4 +1,4 @@
-
+
net8.0
@@ -20,7 +20,7 @@
-
+
diff --git a/src/Linq2GraphQL.Client/Linq2GraphQL.Client.csproj b/src/Linq2GraphQL.Client/Linq2GraphQL.Client.csproj
index 7cb7da22..e5f1a536 100644
--- a/src/Linq2GraphQL.Client/Linq2GraphQL.Client.csproj
+++ b/src/Linq2GraphQL.Client/Linq2GraphQL.Client.csproj
@@ -1,4 +1,4 @@
-
+
net8.0
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/src/Linq2GraphQL.Generator/Linq2GraphQL.Generator.csproj b/src/Linq2GraphQL.Generator/Linq2GraphQL.Generator.csproj
index 337e7eca..5819e4e9 100644
--- a/src/Linq2GraphQL.Generator/Linq2GraphQL.Generator.csproj
+++ b/src/Linq2GraphQL.Generator/Linq2GraphQL.Generator.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -20,9 +20,9 @@
-
-
-
+
+
+
diff --git a/test/Linq2GraphQL.Console/Linq2GraphQL.Console.csproj b/test/Linq2GraphQL.Console/Linq2GraphQL.Console.csproj
index a1534392..3a38b49e 100644
--- a/test/Linq2GraphQL.Console/Linq2GraphQL.Console.csproj
+++ b/test/Linq2GraphQL.Console/Linq2GraphQL.Console.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -7,14 +7,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/test/Linq2GraphQL.TestServer.Shared/Linq2GraphQL.TestServer.Shared.csproj b/test/Linq2GraphQL.TestServer.Shared/Linq2GraphQL.TestServer.Shared.csproj
index c376ed27..3f750461 100644
--- a/test/Linq2GraphQL.TestServer.Shared/Linq2GraphQL.TestServer.Shared.csproj
+++ b/test/Linq2GraphQL.TestServer.Shared/Linq2GraphQL.TestServer.Shared.csproj
@@ -7,9 +7,9 @@
-
-
-
+
+
+
diff --git a/test/Linq2GraphQL.TestServer/Linq2GraphQL.TestServer.csproj b/test/Linq2GraphQL.TestServer/Linq2GraphQL.TestServer.csproj
index 66bbba09..cfa6f1bd 100644
--- a/test/Linq2GraphQL.TestServer/Linq2GraphQL.TestServer.csproj
+++ b/test/Linq2GraphQL.TestServer/Linq2GraphQL.TestServer.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/test/Linq2GraphQL.TestServerNullable/Linq2GraphQL.TestServerNullable.csproj b/test/Linq2GraphQL.TestServerNullable/Linq2GraphQL.TestServerNullable.csproj
index 8559f2ad..d26bc39e 100644
--- a/test/Linq2GraphQL.TestServerNullable/Linq2GraphQL.TestServerNullable.csproj
+++ b/test/Linq2GraphQL.TestServerNullable/Linq2GraphQL.TestServerNullable.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/test/Linq2GraphQL.Tests/Linq2GraphQL.Tests.csproj b/test/Linq2GraphQL.Tests/Linq2GraphQL.Tests.csproj
index 17182248..788d1b91 100644
--- a/test/Linq2GraphQL.Tests/Linq2GraphQL.Tests.csproj
+++ b/test/Linq2GraphQL.Tests/Linq2GraphQL.Tests.csproj
@@ -1,4 +1,4 @@
-
+
net8.0
@@ -10,25 +10,25 @@
-
-
-
-
-
+
+
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
-
-
+
+
+
+
diff --git a/test/Linq2GraphQL.Tests/MutationTests.cs b/test/Linq2GraphQL.Tests/MutationTests.cs
index 6b3951f4..6c9b81dd 100644
--- a/test/Linq2GraphQL.Tests/MutationTests.cs
+++ b/test/Linq2GraphQL.Tests/MutationTests.cs
@@ -31,17 +31,13 @@ public async Task Mutation_Multiple()
var id = Guid.NewGuid();
var customerId = await sampleClient
.Mutation
- .AddCustomer(new CustomerInput
+ .AddCustomer(new()
{
- CustomerId = id,
- CustomerName = "New Customer",
- Orders = new List(),
- Status = CustomerStatus.Active,
+ CustomerId = id, CustomerName = "New Customer", Orders = new(), Status = CustomerStatus.Active
})
- .Select(e=> e.CustomerId)
+ .Select(e => e.CustomerId)
.ExecuteAsync();
Assert.Equal(id, customerId);
}
-
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryArgumentTests.cs b/test/Linq2GraphQL.Tests/QueryArgumentTests.cs
index 8764f050..51793458 100644
--- a/test/Linq2GraphQL.Tests/QueryArgumentTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryArgumentTests.cs
@@ -1,112 +1,104 @@
using Linq2GraphQL.TestClient;
-namespace Linq2GraphQL.Tests
+namespace Linq2GraphQL.Tests;
+
+public class QueryArgumentTests : IClassFixture
{
+ private readonly SampleClient sampleClient;
- public class QueryArgumentTests : IClassFixture
+ public QueryArgumentTests(SampleClientFixture safeModeClient)
{
- private readonly SampleClient sampleClient;
-
- public QueryArgumentTests(SampleClientFixture safeModeClient)
- {
- sampleClient = safeModeClient.sampleClient;
- }
-
- [Fact]
- public async Task TopAndInQueryArguments_SameName()
- {
- var query = sampleClient
- .Query
- .Orders(first: 1)
- .Include(e => e.Nodes.Select(e => e.OrderHello("JOcke", 2)))
- .Include(e => e.Nodes.Select(e => e.OrderAddress(AddressType.Invoice)))
- .Select(e => e.Nodes);
-
- var request = await query.GetRequestAsync();
- var result = await query.ExecuteAsync();
-
- Assert.Single(result);
- }
-
- [Fact]
- public async Task TopLevelArguments()
- {
- var query = sampleClient
- .Query
- .Orders(first: 1)
- .Select(e => e.Nodes);
-
- var request = await query.GetRequestAsync();
- var result = await query.ExecuteAsync();
-
- var order = result.First();
-
- var address = order.OrderAddress;
-
- Assert.Single(result);
- }
-
- [Fact]
- public async Task InQueryArguments()
- {
- var query = sampleClient
- .Query
- .Orders(first: 1)
- .Include(e => e.Nodes.Select(e => e.OrderAddress(AddressType.Invoice)))
- .Select(e => e.Nodes);
-
- var request = query.GetRequestAsync();
-
- var result = await query.ExecuteAsync();
-
- var order = result.First();
-
- Assert.NotNull(order.OrderAddress);
- Assert.Equal("Invoice", result.First().OrderAddress?.Name);
- }
-
- [Fact]
- public async Task InQueryAnonymousType()
- {
- var query = sampleClient
- .Query
- .Orders(first: 2)
- .Include(e => e.Nodes)
- .Select(e => e.Nodes.Select(e => e.OrderHello("Kalle", 123)));
-
- var gQ = await query.GetRequestAsync();
-
- var node = query.QueryNode;
- var result = await query.ExecuteAsync();
-
- Assert.NotNull(result.First());
-
- }
-
- [Fact]
- public async Task InQueryArguments_Multiple()
- {
- var query = sampleClient
- .Query
- .Orders()
- .Select(e => e.Nodes.Select(f => new
- {
- Jocke = f.OrderHello("Jocke", 22),
- Kalle = f.OrderHello("Kalle", 11)
- })
- );
+ sampleClient = safeModeClient.sampleClient;
+ }
- var request = query.GetRequestAsync();
- var result = await query.ExecuteAsync();
+ [Fact]
+ public async Task TopAndInQueryArguments_SameName()
+ {
+ var query = sampleClient
+ .Query
+ .Orders(1)
+ .Include(e => e.Nodes.Select(e => e.OrderHello("JOcke", 2)))
+ .Include(e => e.Nodes.Select(e => e.OrderAddress(AddressType.Invoice)))
+ .Select(e => e.Nodes);
+
+ var request = await query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
- var addresses = result.First();
+ Assert.Single(result);
+ }
- Assert.Equal("Hello, Jocke [22]", addresses.Jocke);
- Assert.Equal("Hello, Kalle [11]", addresses.Kalle);
+ [Fact]
+ public async Task TopLevelArguments()
+ {
+ var query = sampleClient
+ .Query
+ .Orders(1)
+ .Select(e => e.Nodes);
- }
+ var request = await query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
+ var order = result.First();
+ var address = order.OrderAddress;
+
+ Assert.Single(result);
}
-}
+ [Fact]
+ public async Task InQueryArguments()
+ {
+ var query = sampleClient
+ .Query
+ .Orders(1)
+ .Include(e => e.Nodes.Select(e => e.OrderAddress(AddressType.Invoice)))
+ .Select(e => e.Nodes);
+
+ var request = query.GetRequestAsync();
+
+ var result = await query.ExecuteAsync();
+
+ var order = result.First();
+
+ Assert.NotNull(order.OrderAddress);
+ Assert.Equal("Invoice", result.First().OrderAddress?.Name);
+ }
+
+ [Fact]
+ public async Task InQueryAnonymousType()
+ {
+ var query = sampleClient
+ .Query
+ .Orders(2)
+ .Include(e => e.Nodes)
+ .Select(e => e.Nodes.Select(e => e.OrderHello("Kalle", 123)));
+
+ var gQ = await query.GetRequestAsync();
+
+ var node = query.QueryNode;
+ var result = await query.ExecuteAsync();
+
+ Assert.NotNull(result.First());
+ }
+
+ [Fact]
+ public async Task InQueryArguments_Multiple()
+ {
+ var query = sampleClient
+ .Query
+ .Orders()
+ .Select(e => e.Nodes.Select(f => new
+ {
+ Jocke = f.OrderHello("Jocke", 22), Kalle = f.OrderHello("Kalle", 11)
+ })
+ );
+
+ var request = query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
+
+ var addresses = result.First();
+
+ Assert.Equal("Hello, Jocke [22]", addresses.Jocke);
+ Assert.Equal("Hello, Kalle [11]", addresses.Kalle);
+ }
+}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryIncludeTests.cs b/test/Linq2GraphQL.Tests/QueryIncludeTests.cs
index 4c4eef4a..33a27e74 100644
--- a/test/Linq2GraphQL.Tests/QueryIncludeTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryIncludeTests.cs
@@ -1,5 +1,4 @@
-using HotChocolate.Execution;
-using Linq2GraphQL.TestClient;
+using Linq2GraphQL.TestClient;
namespace Linq2GraphQL.Tests;
@@ -32,7 +31,7 @@ public async Task IncludePrimitives_MultipleLevels()
{
var query = sampleClient
.Query
- .Orders(first: 1)
+ .Orders(1)
.Include(e => e.Nodes.Select(e => e.Customer))
.Include(e => e.Nodes.Select(e => e.Customer.Orders))
.Select(e => e.Nodes);
@@ -62,11 +61,7 @@ public async Task IncludePrimitives_AnomousResult()
Hello = n.OrderHello("Peter", 1234),
DeliveryAddress = n.OrderAddress(AddressType.Delivery),
InvoiceAddress = n.OrderAddress(AddressType.Invoice),
- Cust = new
- {
- n.Customer.CustomerName,
- n.Customer.Orders
- }
+ Cust = new { n.Customer.CustomerName, n.Customer.Orders }
}));
var q = await query.GetRequestAsync();
@@ -92,19 +87,9 @@ public async Task IncludePrimitives_IncludeMultilevelComplex_PopulatePrimitivesO
.Query
.Orders(where: new()
{
- Customer = new()
- {
- CustomerId = new()
- {
- Eq = Guid.Parse("3b1761fb-6551-404e-80b0-a6c12f298a06")
- }
- }
+ Customer = new() { CustomerId = new() { Eq = Guid.Parse("3b1761fb-6551-404e-80b0-a6c12f298a06") } }
})
- .Select(e => e.Nodes.Select(n => new
- {
- n.Customer,
- n.Customer.Orders
- }))
+ .Select(e => e.Nodes.Select(n => new { n.Customer, n.Customer.Orders }))
.ExecuteAsync();
diff --git a/test/Linq2GraphQL.Tests/QueryInterfaceTests.cs b/test/Linq2GraphQL.Tests/QueryInterfaceTests.cs
index 8651c6fd..674b4862 100644
--- a/test/Linq2GraphQL.Tests/QueryInterfaceTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryInterfaceTests.cs
@@ -1,59 +1,50 @@
using Linq2GraphQL.TestClient;
-namespace Linq2GraphQL.Tests
+namespace Linq2GraphQL.Tests;
+
+public class QueryInterfaceTests : IClassFixture
{
+ private readonly SampleClient sampleClient;
- public class QueryInterfaceTests : IClassFixture
+ public QueryInterfaceTests(SampleClientFixture safeModeClient)
{
- private readonly SampleClient sampleClient;
-
- public QueryInterfaceTests(SampleClientFixture safeModeClient)
- {
- sampleClient = safeModeClient.sampleClient;
- }
-
- [Fact]
- public async Task Interface_NoSubclass()
- {
- var result = await sampleClient
- .Query
- .Animals()
- .Select(e => e.Nodes)
- .ExecuteAsync();
-
- var pig = result.First();
- var spider = result.Last();
-
- Assert.IsType(spider);
- Assert.IsType(pig);
-
- }
-
- [Fact]
- public async Task Interface_QuerySubClass()
- {
- var query = sampleClient
- .Query
- .Animals()
- .Include(e => e.Nodes.Select(e => e.Pig()))
- .Include(e => e.Nodes.Select(e => e.Spider()))
- .Select(e => e.Nodes);
+ sampleClient = safeModeClient.sampleClient;
+ }
+ [Fact]
+ public async Task Interface_NoSubclass()
+ {
+ var result = await sampleClient
+ .Query
+ .Animals()
+ .Select(e => e.Nodes)
+ .ExecuteAsync();
- var request = await query.GetRequestAsync();
- var result = await query.ExecuteAsync();
+ var pig = result.First();
+ var spider = result.Last();
- var pig = result.First();
- var spider = result.Last();
+ Assert.IsType(spider);
+ Assert.IsType(pig);
+ }
- Assert.IsType(spider);
- Assert.IsType(pig);
+ [Fact]
+ public async Task Interface_QuerySubClass()
+ {
+ var query = sampleClient
+ .Query
+ .Animals()
+ .Include(e => e.Nodes.Select(e => e.Pig()))
+ .Include(e => e.Nodes.Select(e => e.Spider()))
+ .Select(e => e.Nodes);
- }
+ var request = await query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
-
+ var pig = result.First();
+ var spider = result.Last();
+ Assert.IsType(spider);
+ Assert.IsType(pig);
}
-
-}
+}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryNullableTests.cs b/test/Linq2GraphQL.Tests/QueryNullableTests.cs
index 53766cfe..d023d028 100644
--- a/test/Linq2GraphQL.Tests/QueryNullableTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryNullableTests.cs
@@ -1,73 +1,68 @@
-using Linq2GraphQL.TestClient;
+using System.Text;
using Linq2GraphQL.TestClientNullable;
-using System.Collections;
-using System.Text;
+namespace Linq2GraphQL.Tests;
-namespace Linq2GraphQL.Tests
+public class QueryNullableTests : IClassFixture
{
- public class QueryNullableTests : IClassFixture
- {
- private readonly SampleNullableClient nullableClient;
-
- public QueryNullableTests(SampleNullableClientFixture nullableFixture)
- {
- nullableClient = nullableFixture.sampleClient;
- }
+ private readonly SampleNullableClient nullableClient;
- [Fact]
- public async Task GetCustomers()
- {
- var result = await nullableClient
- .Query
- .CustomerList()
- .Select()
- .ExecuteAsync();
+ public QueryNullableTests(SampleNullableClientFixture nullableFixture)
+ {
+ nullableClient = nullableFixture.sampleClient;
+ }
- Assert.Equal(2, result.Count);
- }
+ [Fact]
+ public async Task GetCustomers()
+ {
+ var result = await nullableClient
+ .Query
+ .CustomerList()
+ .Select()
+ .ExecuteAsync();
- [Fact]
- public async Task GetItemData()
- {
- var result = await nullableClient
- .Query
- .Item()
- .Include(e=> e.Data)
- .Select()
- .ExecuteAsync();
+ Assert.Equal(2, result.Count);
+ }
- var data = System.Text.Encoding.UTF8.GetString(result.Data!.ToArray());
+ [Fact]
+ public async Task GetItemData()
+ {
+ var result = await nullableClient
+ .Query
+ .Item()
+ .Include(e => e.Data)
+ .Select()
+ .ExecuteAsync();
- Assert.Equal(result.ItemName, data);
- }
+ var data = Encoding.UTF8.GetString(result.Data!.ToArray());
+ Assert.Equal(result.ItemName, data);
+ }
- [Fact]
- public async Task GetCustomerNull()
- {
- var result = await nullableClient
- .Query
- .CustomerNullable()
- .Select()
- .ExecuteAsync();
- Assert.Null(result);
- }
+ [Fact]
+ public async Task GetCustomerNull()
+ {
+ var result = await nullableClient
+ .Query
+ .CustomerNullable()
+ .Select()
+ .ExecuteAsync();
+ Assert.Null(result);
+ }
- [Fact]
- public async Task GetCustomerListInList()
- {
- var result = await nullableClient
- .Query
- .CustomerListInList()
- .Select()
- .ExecuteAsync();
- TestClientNullable.Customer? customer = result.FirstOrDefault()?.FirstOrDefault();
- Assert.NotNull(customer);
- }
+ [Fact]
+ public async Task GetCustomerListInList()
+ {
+ var result = await nullableClient
+ .Query
+ .CustomerListInList()
+ .Select()
+ .ExecuteAsync();
+ var customer = result.FirstOrDefault()?.FirstOrDefault();
+ Assert.NotNull(customer);
}
-}
+}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryPagingTests.cs b/test/Linq2GraphQL.Tests/QueryPagingTests.cs
index f1049c10..aed792ef 100644
--- a/test/Linq2GraphQL.Tests/QueryPagingTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryPagingTests.cs
@@ -1,7 +1,3 @@
-using FluentAssertions;
-using GreenDonut;
-using HotChocolate.Types.Pagination;
-using Linq2GraphQL.Client;
using Linq2GraphQL.TestClient;
namespace Linq2GraphQL.Tests;
@@ -15,14 +11,13 @@ public QueryPagingTests(SampleClientFixture sampleClient)
this.sampleClient = sampleClient.sampleClient;
}
-
[Fact]
public async Task Orders_ManualPaging()
{
var query = sampleClient
.Query
- .OrdersNoBackwardPagination(first: 2)
+ .OrdersNoBackwardPagination(2)
.Include(e => e.Nodes)
.Include(e => e.PageInfo)
.Include(e => e.TotalCount)
@@ -30,11 +25,11 @@ public async Task Orders_ManualPaging()
var request = await query.GetRequestAsync();
- await query.ExecuteBaseAsync();
+ await query.ExecuteBaseAsync();
var result1 = query.ConvertResult(query.BaseResult);
var result2 = result1;
-
+
if (query.BaseResult.PageInfo.HasNextPage)
{
query.QueryNode.SetArgumentValue("after", query.BaseResult.PageInfo.EndCursor);
@@ -42,21 +37,19 @@ public async Task Orders_ManualPaging()
}
Assert.NotEqual(result1.First().OrderId, result2.First().OrderId);
-
}
[Fact]
public async Task Orders_NotIncludeTotalCount()
{
var query = sampleClient
- .Query
- .Orders()
- .Select(e => e.Nodes);
+ .Query
+ .Orders()
+ .Select(e => e.Nodes);
var result = await query.ExecuteAsync();
-
- Assert.Equal(0, query.BaseResult.TotalCount);
+ Assert.Equal(0, query.BaseResult.TotalCount);
}
@@ -64,25 +57,20 @@ public async Task Orders_NotIncludeTotalCount()
public async Task Orders_Paging()
{
var pager = sampleClient
- .Query
- .Orders()
- .Include(e => e.TotalCount)
- //.Include(e => e.Nodes.Select(e => e.Customer.Orders))
-
- .Select(e => e.Nodes.Select(e => new { e.OrderId }))
- .AsPager();
+ .Query
+ .Orders()
+ .Include(e => e.TotalCount)
+ //.Include(e => e.Nodes.Select(e => e.Customer.Orders))
+ .Select(e => e.Nodes.Select(e => new { e.OrderId }))
+ .AsPager();
var firstPage = await pager.NextPageAsync();
- var totalCount = pager.PagerResult.TotalCount;
+ var totalCount = pager.PagerResult.TotalCount;
var secondPage = await pager.NextPageAsync();
var firstPageAgain = await pager.PreviousPageAsync();
Assert.NotEqual(firstPage.First().OrderId, secondPage.First().OrderId);
Assert.Equal(firstPage.First().OrderId, firstPageAgain.First().OrderId);
-
}
-
-
-
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryProjectionTests.cs b/test/Linq2GraphQL.Tests/QueryProjectionTests.cs
index ab62ef3c..4b1408d3 100644
--- a/test/Linq2GraphQL.Tests/QueryProjectionTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryProjectionTests.cs
@@ -1,98 +1,88 @@
using Linq2GraphQL.TestClient;
-namespace Linq2GraphQL.Tests
+namespace Linq2GraphQL.Tests;
+
+public class QueryProjectionTests : IClassFixture
{
+ private readonly SampleClient sampleClient;
- public class QueryProjectionTests : IClassFixture
+ public QueryProjectionTests(SampleClientFixture safeModeClient)
{
- private readonly SampleClient sampleClient;
+ sampleClient = safeModeClient.sampleClient;
+ }
- public QueryProjectionTests(SampleClientFixture safeModeClient)
- {
- sampleClient = safeModeClient.sampleClient;
- }
+ [Fact]
+ public async Task ProjectingAnomousObject()
+ {
+ var query = sampleClient
+ .Query
+ .Orders()
+ .Select(e => e.Nodes.Select(o => new OrderIdAddress { OrderId = o.OrderId, Address = o.Address }));
+
+ var request = await query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
+ Assert.NotEqual(Guid.Empty, result.First().OrderId);
+ Assert.NotNull(result.First().Address);
+
+ var baseOrder = query.BaseResult.Nodes.First();
+ Assert.Null(baseOrder.Customer);
+ Assert.Equal(DateTimeOffset.MinValue, baseOrder.OrderDate);
+ }
- [Fact]
- public async Task ProjectingAnomousObject()
- {
- var query = sampleClient
- .Query
- .Orders()
- .Select(e => e.Nodes.Select(o => new OrderIdAddress { OrderId = o.OrderId, Address = o.Address }));
-
- var request = await query.GetRequestAsync();
- var result = await query.ExecuteAsync();
- Assert.NotEqual(Guid.Empty, result.First().OrderId);
- Assert.NotNull(result.First().Address);
-
- var baseOrder = query.BaseResult.Nodes.First();
- Assert.Null(baseOrder.Customer);
- Assert.Equal(DateTimeOffset.MinValue, baseOrder.OrderDate);
-
- }
-
- [Fact]
- public async Task ProjectingToType()
- {
- var query = sampleClient
+ [Fact]
+ public async Task ProjectingToType()
+ {
+ var query = sampleClient
.Query
.Orders()
.Select(e => e.Nodes.Select(o => new OrderIdAddress { OrderId = o.OrderId, Address = o.Address }))
- ;
-
-
- var result = await query.ExecuteAsync();
- var order = result.First();
- Assert.NotEqual(Guid.Empty, order.OrderId);
- Assert.NotNull(order.Address);
-
- var baseOrder = query.BaseResult.Nodes.First();
- Assert.Null(baseOrder.Customer);
- Assert.Equal(DateTimeOffset.MinValue, baseOrder.OrderDate);
-
- }
-
- [Fact]
- public async Task Project_SelectMany()
- {
- var query = sampleClient
- .Query
- .Customers()
- .Select(e => e.SelectMany(e=> e.Orders));
+ ;
- var result = await query.ExecuteAsync();
-
- Assert.True(result.All(e=> e.OrderId != default));
+ var result = await query.ExecuteAsync();
+ var order = result.First();
+ Assert.NotEqual(Guid.Empty, order.OrderId);
+ Assert.NotNull(order.Address);
- }
+ var baseOrder = query.BaseResult.Nodes.First();
+ Assert.Null(baseOrder.Customer);
+ Assert.Equal(DateTimeOffset.MinValue, baseOrder.OrderDate);
+ }
-
- [Fact]
- public async Task Project_TopLevelAllPrimitive()
- {
+ [Fact]
+ public async Task Project_SelectMany()
+ {
+ var query = sampleClient
+ .Query
+ .Customers()
+ .Select(e => e.SelectMany(e => e.Orders));
- var query = sampleClient
- .Query
- .Customers()
- .Include()
- .Select(e => new { Customers = e, Orders = e.SelectMany(f => f.Orders) });
+ var result = await query.ExecuteAsync();
- var request = await query.GetRequestAsync();
- var result = await query.ExecuteAsync();
- var t = result.Customers.All(e => e.CustomerId != default);
- Assert.True(result.Customers.All(e => e.CustomerId != default));
+ Assert.True(result.All(e => e.OrderId != default));
+ }
- }
+ [Fact]
+ public async Task Project_TopLevelAllPrimitive()
+ {
+ var query = sampleClient
+ .Query
+ .Customers()
+ .Include()
+ .Select(e => new { Customers = e, Orders = e.SelectMany(f => f.Orders) });
- }
+ var request = await query.GetRequestAsync();
+ var result = await query.ExecuteAsync();
+ var t = result.Customers.All(e => e.CustomerId != default);
- public class OrderIdAddress
- {
- public Guid OrderId { get; set; }
- public Address? Address { get; set; }
+ Assert.True(result.Customers.All(e => e.CustomerId != default));
}
-
}
+
+public class OrderIdAddress
+{
+ public Guid OrderId { get; set; }
+ public Address? Address { get; set; }
+}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/QueryTests.cs b/test/Linq2GraphQL.Tests/QueryTests.cs
index 2cc64fb6..588c481f 100644
--- a/test/Linq2GraphQL.Tests/QueryTests.cs
+++ b/test/Linq2GraphQL.Tests/QueryTests.cs
@@ -1,5 +1,5 @@
-using FluentAssertions;
using Linq2GraphQL.TestClient;
+using Shouldly;
namespace Linq2GraphQL.Tests;
@@ -59,7 +59,7 @@ public async Task Customers_WithIncludeSelect()
var query = sampleClient
.Query
.Customers()
- .Include(e => e.Select(e=> new { e.CustomerId, e.Status }))
+ .Include(e => e.Select(e => new { e.CustomerId, e.Status }))
.Select();
var result = await query.ExecuteAsync();
@@ -69,7 +69,6 @@ public async Task Customers_WithIncludeSelect()
var customer1 = result[0];
Assert.NotEqual(default, customer1.CustomerId);
Assert.Equal(default, customer1.CustomerName);
-
}
@@ -81,7 +80,7 @@ public async Task Customers_WithIncludeOrders()
.Customers()
.Include(e => e.Select(e => e.Orders))
.Select();
-
+
var result = await query.ExecuteAsync();
var customer1 = result[0];
@@ -110,7 +109,6 @@ public async Task Customers_WithIncludeOrdersAndAddress()
.Customers()
.Include(e => e.Select(e => e.Orders.Select(f => f.Address)))
.Include(e => e.Select(e => e.Orders.Select(f => f.Customer)))
-
.Select()
.ExecuteAsync();
@@ -139,7 +137,6 @@ public async Task Customers_Include_Nested()
Assert.Equal(default, order.Customer.CustomerId);
}
-
[Fact]
public async Task Customers_WithSingleSelect()
{
@@ -182,7 +179,6 @@ public async Task Orders_WithSelect()
}
-
[Fact]
public async Task Orders_WithSelectIncludeNodes()
{
@@ -221,7 +217,6 @@ public async Task Orders_ChainedSelect_2()
var baseType = query.BaseResult;
Assert.Equal(default, baseType.Nodes.First().OrderDate);
-
}
@@ -238,7 +233,6 @@ public async Task Orders_ChainedSelect()
var orderAddresses = result.SelectMany(e => e.Customer.Orders.Select(a => a.Address));
Assert.True(orderAddresses.All(e => e != null));
-
}
[Fact]
@@ -246,16 +240,13 @@ public async Task Orders_WithOrderByDateDesc()
{
var result = await sampleClient
.Query
- .Orders(order: new List { new() { OrderDate = SortEnumType.Desc } })
+ .Orders(order: new() { new() { OrderDate = SortEnumType.Desc } })
.Select(e => e.Nodes)
.ExecuteAsync();
- result.Should().BeInDescendingOrder(e => e.OrderDate);
+ result.OrderByDescending(x => x.OrderDate).ShouldBe(result);
}
-
-
-
[Fact]
public async Task QueryReturnNull_Object()
{
@@ -266,7 +257,6 @@ public async Task QueryReturnNull_Object()
.ExecuteAsync();
Assert.True(result == null);
-
}
[Fact]
@@ -279,7 +269,6 @@ public async Task QueryReturnNull_AnonymousObject()
.ExecuteAsync();
Assert.True(result == null);
-
}
[Fact]
@@ -292,7 +281,6 @@ public async Task QueryReturnNull_Default()
.ExecuteAsync();
Assert.True(result == Guid.Empty);
-
}
[Fact]
@@ -305,7 +293,5 @@ public async Task QueryReturnNull_GuidNull()
.ExecuteAsync();
Assert.True(result == null);
-
}
-
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/SampleClientFixture.cs b/test/Linq2GraphQL.Tests/SampleClientFixture.cs
index 2c0146b9..1e46413e 100644
--- a/test/Linq2GraphQL.Tests/SampleClientFixture.cs
+++ b/test/Linq2GraphQL.Tests/SampleClientFixture.cs
@@ -14,15 +14,17 @@ public SampleClientFixture()
var baseAddress = new Uri("https://localhost:7184/graphql/");
var application = new WebApplicationFactory();
- var client = application.CreateClient(new WebApplicationFactoryClientOptions { BaseAddress = baseAddress });
+ var client = application.CreateClient(new() { BaseAddress = baseAddress });
- sampleClient = new SampleClient(client, Options.Create(new GraphClientOptions
- {
- SubscriptionProtocol = SubscriptionProtocol.ServerSentEvents,
- UseSafeMode = true
- }), application.Services);
+ sampleClient = new(client,
+ Options.Create(new GraphClientOptions
+ {
+ SubscriptionProtocol = SubscriptionProtocol.ServerSentEvents, UseSafeMode = true
+ }), application.Services);
//Please note currently only ServerSentEvents work in test project
}
- public void Dispose() { }
+ public void Dispose()
+ {
+ }
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/SampleClientNullableFixture.cs b/test/Linq2GraphQL.Tests/SampleClientNullableFixture.cs
index 40af0ed5..5633bfc4 100644
--- a/test/Linq2GraphQL.Tests/SampleClientNullableFixture.cs
+++ b/test/Linq2GraphQL.Tests/SampleClientNullableFixture.cs
@@ -1,5 +1,4 @@
using Linq2GraphQL.Client;
-using Linq2GraphQL.TestClient;
using Linq2GraphQL.TestClientNullable;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.Options;
@@ -15,15 +14,17 @@ public SampleNullableClientFixture()
var baseAddress = new Uri("https://localhost:50741/graphql/");
var application = new WebApplicationFactory();
- var client = application.CreateClient(new WebApplicationFactoryClientOptions { BaseAddress = baseAddress });
+ var client = application.CreateClient(new() { BaseAddress = baseAddress });
- sampleClient = new SampleNullableClient(client, Options.Create(new GraphClientOptions
- {
- SubscriptionProtocol = SubscriptionProtocol.ServerSentEvents,
- UseSafeMode = false,
- }), application.Services);
+ sampleClient = new(client,
+ Options.Create(new GraphClientOptions
+ {
+ SubscriptionProtocol = SubscriptionProtocol.ServerSentEvents, UseSafeMode = false
+ }), application.Services);
//Please note currently only ServerSentEvents work in test project
}
- public void Dispose() { }
+ public void Dispose()
+ {
+ }
}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/ScalarTests.cs b/test/Linq2GraphQL.Tests/ScalarTests.cs
index bda4f5fb..410fafb4 100644
--- a/test/Linq2GraphQL.Tests/ScalarTests.cs
+++ b/test/Linq2GraphQL.Tests/ScalarTests.cs
@@ -1,50 +1,42 @@
-using Linq2GraphQL.TestClient;
-using Linq2GraphQL.TestClientNullable;
+using Linq2GraphQL.TestClientNullable;
+namespace Linq2GraphQL.Tests;
-namespace Linq2GraphQL.Tests
+public class ScalarTests : IClassFixture
{
+ private readonly SampleNullableClient sampleClient;
-
-
- public class ScalarTests : IClassFixture
+ public ScalarTests(SampleNullableClientFixture safeModeClient)
{
- private readonly SampleNullableClient sampleClient;
-
- public ScalarTests(SampleNullableClientFixture safeModeClient)
- {
- sampleClient = safeModeClient.sampleClient;
- }
-
- [Fact]
- public async Task GetScalar()
- {
- var result = await sampleClient
- .Query
- .Person()
- .Select()
- .ExecuteAsync();
-
- Assert.NotNull(result.MacAddress);
- Assert.NotNull(result.Longitude);
- }
-
- [Fact]
- public async Task SetScalar()
- {
- var result = await sampleClient
- .Mutation
- .UpdatePerson(person: new PersonInput { Name = "Peter", MacAddress = new MacAddress("01-23-45-67-89-ab"), Longitude = new Longitude { Value = "14° 24' 0\" E" } })
- .Select()
- .ExecuteAsync();
-
+ sampleClient = safeModeClient.sampleClient;
+ }
+ [Fact]
+ public async Task GetScalar()
+ {
+ var result = await sampleClient
+ .Query
+ .Person()
+ .Select()
+ .ExecuteAsync();
+
+ Assert.NotNull(result.MacAddress);
+ Assert.NotNull(result.Longitude);
+ }
- Assert.NotNull(result);
- }
+ [Fact]
+ public async Task SetScalar()
+ {
+ var result = await sampleClient
+ .Mutation
+ .UpdatePerson(new()
+ {
+ Name = "Peter", MacAddress = new("01-23-45-67-89-ab"), Longitude = new() { Value = "14° 24' 0\" E" }
+ })
+ .Select()
+ .ExecuteAsync();
+ Assert.NotNull(result);
}
-
-}
-
+}
\ No newline at end of file
diff --git a/test/Linq2GraphQL.Tests/SubscriptionTests.cs b/test/Linq2GraphQL.Tests/SubscriptionTests.cs
index 200a5a3a..6b2bb39b 100644
--- a/test/Linq2GraphQL.Tests/SubscriptionTests.cs
+++ b/test/Linq2GraphQL.Tests/SubscriptionTests.cs
@@ -17,10 +17,7 @@ public async Task NoParameter()
var customerName = "JockeD";
var customerInput = new CustomerInput
{
- CustomerName = customerName,
- CustomerId = Guid.NewGuid(),
- Status = CustomerStatus.Active,
- Orders = new()
+ CustomerName = customerName, CustomerId = Guid.NewGuid(), Status = CustomerStatus.Active, Orders = new()
};
var subscription = await sampleClient