Fixed tests for PHPUnit 7+

This commit is contained in:
Vladimir Razuvaev 2018-08-07 23:59:48 +07:00
parent 4227404aee
commit c3d69c7c2b
5 changed files with 80 additions and 63 deletions

View File

@ -97,6 +97,7 @@ fragment MissingOn Type
*/
public function testParsesVariableInlineValues()
{
$this->expectNotToPerformAssertions();
// Following line should not throw:
Parser::parse('{ field(complex: { a: { b: [ $var ] } }) }');
}
@ -221,6 +222,7 @@ fragment $fragmentName on Type {
*/
public function testParsessAnonymousMutationOperations()
{
$this->expectNotToPerformAssertions();
// Should not throw:
Parser::parse('
mutation {
@ -234,6 +236,7 @@ fragment $fragmentName on Type {
*/
public function testParsesAnonymousSubscriptionOperations()
{
$this->expectNotToPerformAssertions();
// Should not throw:
Parser::parse('
subscription {
@ -247,6 +250,7 @@ fragment $fragmentName on Type {
*/
public function testParsesNamedMutationOperations()
{
$this->expectNotToPerformAssertions();
// Should not throw:
Parser::parse('
mutation Foo {
@ -260,6 +264,7 @@ fragment $fragmentName on Type {
*/
public function testParsesNamedSubscriptionOperations()
{
$this->expectNotToPerformAssertions();
Parser::parse('
subscription Foo {
subscriptionField

View File

@ -137,10 +137,7 @@ class RequestValidationTest extends TestCase
{
$helper = new Helper();
$errors = $helper->validateOperationParams($parsedRequest);
if (!empty($errors)) {
throw $errors[0];
}
$this->assertEmpty($errors, isset($errors[0]) ? $errors[0]->getMessage() : '');
}
private function assertInputError($parsedRequest, $expectedMessage)

View File

@ -515,8 +515,8 @@ class DefinitionTest extends TestCase
*/
public function testProhibitsNestingNonNullInsideNonNull()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Expected Int! to be a GraphQL nullable type.'
);
Type::nonNull(Type::nonNull(Type::int()));
@ -771,8 +771,8 @@ class DefinitionTest extends TestCase
'f' => null,
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeObject.f field config must be an array, but got: null'
);
$objType->getFields();
@ -787,8 +787,8 @@ class DefinitionTest extends TestCase
'name' => 'SomeObject',
'fields' => [['field' => Type::string()]],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeObject fields must be an associative array with field names as keys or a ' .
'function which returns such an array.'
);
@ -806,8 +806,8 @@ class DefinitionTest extends TestCase
return [['field' => Type::string()]];
},
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeObject fields must be an associative array with field names as keys or a ' .
'function which returns such an array.'
);
@ -821,6 +821,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAnObjectTypeWithFieldArgs()
{
$this->expectNotToPerformAssertions();
$objType = new ObjectType([
'name' => 'SomeObject',
'fields' => [
@ -833,7 +834,7 @@ class DefinitionTest extends TestCase
],
]);
// Should not throw:
$objType->assertValid(true);
$objType->assertValid();
}
// rejects an Object type with incorrectly typed field args
@ -853,12 +854,11 @@ class DefinitionTest extends TestCase
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'OldObject.field should provide "deprecationReason" instead of "isDeprecated".'
);
$OldObject->assertValid(true);
$OldObject->assertValid();
}
// Object interfaces must be array
@ -901,8 +901,8 @@ class DefinitionTest extends TestCase
'interfaces' => new \stdClass(),
'fields' => ['f' => ['type' => Type::string()]],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeObject interfaces must be an Array or a callable which returns an Array.'
);
$objType->getInterfaces();
@ -920,8 +920,8 @@ class DefinitionTest extends TestCase
},
'fields' => ['f' => ['type' => Type::string()]],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeObject interfaces must be an Array or a callable which returns an Array.'
);
$objType->getInterfaces();
@ -958,6 +958,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsALambdaAsAnObjectFieldResolver()
{
$this->expectNotToPerformAssertions();
// should not throw:
$this->schemaWithObjectWithFieldResolver(function () {});
}
@ -967,8 +968,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAnEmptyObjectFieldResolver()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'BadResolver.badField field resolver must be a function if provided, but got: []'
);
$this->schemaWithObjectWithFieldResolver([]);
@ -979,8 +980,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAConstantScalarValueResolver()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'BadResolver.badField field resolver must be a function if provided, but got: 0'
);
$this->schemaWithObjectWithFieldResolver(0);
@ -1006,6 +1007,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAnInterfaceTypeDefiningResolveType()
{
$this->expectNotToPerformAssertions();
$AnotherInterfaceType = new InterfaceType([
'name' => 'AnotherInterface',
'fields' => ['f' => ['type' => Type::string()]],
@ -1026,6 +1028,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAnInterfaceWithImplementingTypeDefiningIsTypeOf()
{
$this->expectNotToPerformAssertions();
$InterfaceTypeWithoutResolveType = new InterfaceType([
'name' => 'InterfaceTypeWithoutResolveType',
'fields' => ['f' => ['type' => Type::string()]],
@ -1046,6 +1049,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAnInterfaceTypeDefiningResolveTypeWithImplementingTypeDefiningIsTypeOf()
{
$this->expectNotToPerformAssertions();
$AnotherInterfaceType = new InterfaceType([
'name' => 'AnotherInterface',
'fields' => ['f' => ['type' => Type::string()]],
@ -1066,8 +1070,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAnInterfaceTypeWithAnIncorrectTypeForResolveType()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'AnotherInterface must provide "resolveType" as a function, but got: instance of stdClass'
);
@ -1094,6 +1098,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAUnionTypeDefiningResolveType()
{
$this->expectNotToPerformAssertions();
// Should not throw:
$this->schemaWithFieldType(
new UnionType([
@ -1108,6 +1113,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAUnionOfObjectTypesDefiningIsTypeOf()
{
$this->expectNotToPerformAssertions();
// Should not throw:
$this->schemaWithFieldType(
new UnionType([
@ -1122,6 +1128,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAUnionTypeDefiningResolveTypeOfObjectTypesDefiningIsTypeOf()
{
$this->expectNotToPerformAssertions();
// Should not throw:
$this->schemaWithFieldType(
new UnionType([
@ -1136,8 +1143,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAnUnionTypeWithAnIncorrectTypeForResolveType()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeUnion must provide "resolveType" as a function, but got: instance of stdClass'
);
$this->schemaWithFieldType(
@ -1156,6 +1163,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAScalarTypeDefiningSerialize()
{
$this->expectNotToPerformAssertions();
// Should not throw
$this->schemaWithFieldType(
new CustomScalarType([
@ -1172,8 +1180,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAScalarTypeNotDefiningSerialize()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeScalar must provide "serialize" function. If this custom Scalar ' .
'is also used as an input type, ensure "parseValue" and "parseLiteral" ' .
'functions are also provided.'
@ -1190,8 +1198,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAScalarTypeDefiningSerializeWithAnIncorrectType()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeScalar must provide "serialize" function. If this custom Scalar ' .
'is also used as an input type, ensure "parseValue" and "parseLiteral" ' .
'functions are also provided.'
@ -1209,6 +1217,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAScalarTypeDefiningParseValueAndParseLiteral()
{
$this->expectNotToPerformAssertions();
// Should not throw:
$this->schemaWithFieldType(
new CustomScalarType([
@ -1228,8 +1237,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAScalarTypeDefiningParseValueButNotParseLiteral()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeScalar must provide both "parseValue" and "parseLiteral" functions.'
);
$this->schemaWithFieldType(
@ -1248,8 +1257,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAScalarTypeDefiningParseLiteralButNotParseValue()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeScalar must provide both "parseValue" and "parseLiteral" functions.'
);
$this->schemaWithFieldType(
@ -1268,8 +1277,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAScalarTypeDefiningParseValueAndParseLiteralWithAnIncorrectType()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeScalar must provide both "parseValue" and "parseLiteral" functions.'
);
$this->schemaWithFieldType(
@ -1290,6 +1299,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAnObjectTypeWithAnIsTypeOfFunction()
{
$this->expectNotToPerformAssertions();
// Should not throw
$this->schemaWithFieldType(
new ObjectType([
@ -1304,8 +1314,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAnObjectTypeWithAnIncorrectTypeForIsTypeOf()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'AnotherObject must provide "isTypeOf" as a function, but got: instance of stdClass'
);
$this->schemaWithFieldType(
@ -1324,6 +1334,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAUnionTypeWithArrayTypes()
{
$this->expectNotToPerformAssertions();
// Should not throw:
$this->schemaWithFieldType(
new UnionType([
@ -1338,6 +1349,7 @@ class DefinitionTest extends TestCase
*/
public function testAcceptsAUnionTypeWithFunctionReturningAnArrayOfTypes()
{
$this->expectNotToPerformAssertions();
$this->schemaWithFieldType(
new UnionType([
'name' => 'SomeUnion',
@ -1353,8 +1365,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAUnionTypeWithoutTypes()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Must provide Array of types or a callable which returns such an array for Union SomeUnion'
);
$this->schemaWithFieldType(
@ -1369,8 +1381,8 @@ class DefinitionTest extends TestCase
*/
public function testRejectsAUnionTypeWithIncorrectlyTypedTypes()
{
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Must provide Array of types or a callable which returns such an array for Union SomeUnion'
);
$this->schemaWithFieldType(
@ -1424,8 +1436,8 @@ class DefinitionTest extends TestCase
'name' => 'SomeInputObject',
'fields' => [],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeInputObject fields must be an associative array with field names as keys or a callable '.
'which returns such an array.'
);
@ -1443,8 +1455,8 @@ class DefinitionTest extends TestCase
return [];
},
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeInputObject fields must be an associative array with field names as keys or a ' .
'callable which returns such an array.'
);
@ -1469,8 +1481,8 @@ class DefinitionTest extends TestCase
],
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeInputObject.f field type has a resolve property, ' .
'but Input Types cannot define resolvers.'
);
@ -1491,8 +1503,8 @@ class DefinitionTest extends TestCase
],
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeInputObject.f field type has a resolve property, ' .
'but Input Types cannot define resolvers.'
);
@ -1542,8 +1554,8 @@ class DefinitionTest extends TestCase
'name' => 'SomeEnum',
'values' => [['FOO' => 10]],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeEnum values must be an array with value names as keys.'
);
$enumType->assertValid();
@ -1562,8 +1574,8 @@ class DefinitionTest extends TestCase
],
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'SomeEnum.FOO should provide "deprecationReason" instead ' .
'of "isDeprecated".'
);
@ -1667,8 +1679,8 @@ class DefinitionTest extends TestCase
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Schema must contain unique named types but contains multiple types named "String" '.
'(see http://webonyx.github.io/graphql-php/type-system/#type-registry).'
);
@ -1698,8 +1710,8 @@ class DefinitionTest extends TestCase
'b' => ['type' => $B],
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Schema must contain unique named types but contains multiple types named "SameName" ' .
'(see http://webonyx.github.io/graphql-php/type-system/#type-registry).'
);
@ -1736,8 +1748,8 @@ class DefinitionTest extends TestCase
],
]);
$this->setExpectedException(
InvariantViolation::class,
$this->expectException(InvariantViolation::class);
$this->expectExceptionMessage(
'Schema must contain unique named types but contains multiple types named "BadObject" ' .
'(see http://webonyx.github.io/graphql-php/type-system/#type-registry).'
);

View File

@ -153,6 +153,7 @@ class TypeLoaderTest extends TestCase
public function testSchemaAcceptsTypeLoader()
{
$this->expectNotToPerformAssertions();
new Schema([
'query' => new ObjectType([
'name' => 'Query',

View File

@ -535,6 +535,7 @@ class ValidationTest extends TestCase
public function testAcceptsShorthandNotationForFields()
{
$this->expectNotToPerformAssertions();
$schema = $this->schemaWithFieldType(
new ObjectType([
'name' => 'SomeObject',
@ -1032,6 +1033,7 @@ class ValidationTest extends TestCase
*/
public function testRejectsAnObjectImplementingTheSameInterfaceTwiceDueToExtension()
{
$this->expectNotToPerformAssertions();
$this->markTestIncomplete('extend does not work this way (yet).');
$schema = BuildSchema::build('
type Query {