Skip to content

Repository files navigation

Verify.GraphQL

DiscussionsNuGet Status

Adds Verify support to verify GraphQL.

See Milestones for release notes.

NuGet

Usage

[ModuleInitializer]publicstaticvoidInitialize()=>VerifyGraphQL.Initialize();

snippet source | anchor

Result with data

[Test]publicTaskExecutionResultWithData(){varresult=newExecutionResult{Executed=true,Data=newDictionary<string,object?>{{"user",newDictionary<string,object?>{{"name","John"},{"age",30}}}}};returnVerify(result);}

snippet source | anchor

Result:

{
Data: {
user: {
age: 30,
name: John
}
}
}

snippet source | anchor

Result with errors

[Test]publicTaskExecutionResultWithErrors(){varerror=newExecutionError("Some error"){Path=["query","user"]};error.AddLocation(new(1,5));varresult=newExecutionResult{Executed=true,Errors=[error]};returnVerify(result);}

snippet source | anchor

Result:

{
Errors: [
{
Message: Some error,
Locations: [
{
Line: 1,
Column: 5
}
],
Path: [
query,
user
]
}
]
}

snippet source | anchor

Result with extensions

[Test]publicTaskExecutionResultWithExtensions(){varresult=newExecutionResult{Executed=true,Data=newDictionary<string,object?>{{"hello","world"}},Extensions=new(){{"tracing","some-trace-data"}}};returnVerify(result);}

snippet source | anchor

Result:

{
Data: {
hello: world
},
Extensions: {
tracing: some-trace-data
}
}

snippet source | anchor

Full result

[Test]publicTaskExecutionResultFull(){varerror=newExecutionError("Some error"){Path=["query","user"]};error.AddLocation(new(1,5));varresult=newExecutionResult{Executed=true,Data=newDictionary<string,object?>{{"hello","world"}},Errors=[error],Extensions=new(){{"tracing","some-trace-data"}}};returnVerify(result);}

snippet source | anchor

Result:

{
Errors: [
{
Message: Some error,
Locations: [
{
Line: 1,
Column: 5
}
],
Path: [
query,
user
]
}
],
Data: {
hello: world
},
Extensions: {
tracing: some-trace-data
}
}

snippet source | anchor

Not executed result

[Test]publicTaskExecutionResultNotExecuted(){varresult=newExecutionResult{Executed=false,Data=newDictionary<string,object?>{{"hello","world"}}};returnVerify(result);}

snippet source | anchor

Result:

{}

snippet source | anchor

GraphQL request

[Test]publicTaskGraphQLRequest(){varrequest=newGraphQLRequest{Query="{ hero { name } }",OperationName="HeroQuery",Variables=new(newDictionary<string,object?>{{"id","1"}}),Extensions=new(newDictionary<string,object?>{{"tracing",true}})};returnVerify(request);}

snippet source | anchor

Result:

{
Query: { hero { name } },
OperationName: HeroQuery,
Variables: {
id: 1
},
Extensions: {
tracing: true
}
}

snippet source | anchor

Operation message

[Test]publicTaskOperationMessage(){varmessage=newOperationMessage{Type="connection_init",Id="1",Payload=newDictionary<string,object?>{{"query","{ hero { name } }"}}};returnVerify(message);}

snippet source | anchor

Result:

{
Type: connection_init,
Id: 1,
Payload: {
query: { hero { name } }
}
}

snippet source | anchor

About

Adds Verify support to verify GraphQL.

Resources

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages