Youshido\Tests\Library\Field\ArgumentsAwareConfigTraitTest::testArguments PHP Method

testArguments() public method

public testArguments ( )
    public function testArguments()
    {
        $argsData = ['id' => new IntType()];
        $config = new FieldConfig(['name' => 'UserType', 'type' => new IntType(), 'args' => $argsData]);
        $this->assertTrue($config->hasArguments());
        $this->assertEquals(['id' => new InputField(['name' => 'id', 'type' => new IntType()])], $config->getArguments());
        $config->addArgument('name', new StringType());
        $this->assertEquals(['id' => new InputField(['name' => 'id', 'type' => new IntType()]), 'name' => new InputField(['name' => 'name', 'type' => new StringType()])], $config->getArguments());
        $config->removeArgument('id');
        $this->assertEquals(['name' => new InputField(['name' => 'name', 'type' => new StringType()])], $config->getArguments());
        $config->addArguments(['id' => new InputField(['name' => 'id', 'type' => new IntType()])]);
        $this->assertEquals(['name' => new InputField(['name' => 'name', 'type' => new StringType()]), 'id' => new InputField(['name' => 'id', 'type' => new IntType()])], $config->getArguments());
        $config->addArguments([new InputField(['name' => 'level', 'type' => new IntType()])]);
        $this->assertEquals(['name' => new InputField(['name' => 'name', 'type' => new StringType()]), 'id' => new InputField(['name' => 'id', 'type' => new IntType()]), 'level' => new InputField(['name' => 'level', 'type' => new IntType()])], $config->getArguments());
    }
ArgumentsAwareConfigTraitTest