Source of file MutationScaffolderTest.php
Size: 1,695 Bytes - Last Modified: 2021-12-23T10:31:47+00:00
/var/www/docs.ssmods.com/process/src/tests/Scaffolding/Scaffolders/MutationScaffolderTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php namespace SilverStripe\GraphQL\Tests\Scaffolders\Scaffolding; use GraphQL\Type\Definition\ObjectType; use SilverStripe\Dev\SapphireTest; use SilverStripe\GraphQL\Manager; use SilverStripe\GraphQL\Scaffolding\Scaffolders\MutationScaffolder; class MutationScaffolderTest extends SapphireTest { public function testMutationScaffolder() { /** @var Manager $observer */ $observer = $this->getMockBuilder(Manager::class) ->setMethods(['addMutation','getType']) ->getMock(); $observer->method('getType') ->will($this->returnValue(new ObjectType(['name' => 'test']))); $scaffolder = new MutationScaffolder('testMutation', 'test'); $scaffolder->setDescription('My description'); $scaffolder->addArgs(['Test' => 'String']); $manager = new Manager(); $manager->addType($o = new ObjectType([ 'name' => 'test', 'fields' => [], ])); $o->Test = true; $scaffold = $scaffolder->scaffold($manager); $this->assertEquals('testMutation', $scaffold['name']); $this->assertEquals('My description', $scaffold['description']); $this->assertArrayHasKey('Test', $scaffold['args']); $this->assertTrue(is_callable($scaffold['resolve'])); $this->assertTrue($scaffold['type']->Test); $observer->expects($this->once()) ->method('addMutation') ->with( function ($arg) use ($scaffold) { return $arg() === $scaffold; }, $this->equalTo('testMutation') ); $scaffolder->addToManager($observer); } } |