Skip to content

Commit

Permalink
Merge branch '1.1'
Browse files Browse the repository at this point in the history
* 1.1:
  Add PaymentMethod::instructions option to fixtures
  • Loading branch information
Zales0123 committed Mar 22, 2018
2 parents 0c09dd7 + bbc93eb commit e9106f6
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
Expand Up @@ -93,6 +93,7 @@ public function create(array $options = []): PaymentMethodInterface

$paymentMethod->setName($options['name']);
$paymentMethod->setDescription($options['description']);
$paymentMethod->setInstructions($options['instructions']);
}

foreach ($options['channels'] as $channel) {
Expand All @@ -117,6 +118,8 @@ protected function configureOptions(OptionsResolver $resolver): void
->setDefault('description', function (Options $options): string {
return $this->faker->sentence();
})
->setDefault('instructions', null)
->setAllowedTypes('instructions', ['null', 'string'])
->setDefault('gatewayName', 'Offline')
->setDefault('gatewayFactory', 'offline')
->setDefault('gatewayConfig', [])
Expand Down
Expand Up @@ -35,6 +35,7 @@ protected function configureResourceNode(ArrayNodeDefinition $resourceNode): voi
->scalarNode('code')->cannotBeEmpty()->end()
->scalarNode('name')->cannotBeEmpty()->end()
->scalarNode('description')->cannotBeEmpty()->end()
->scalarNode('instructions')->end()
->scalarNode('gatewayName')->cannotBeEmpty()->end()
->scalarNode('gatewayFactory')->cannotBeEmpty()->end()
->arrayNode('gatewayConfig')->prototype('variable')->end()->end()
Expand Down
Expand Up @@ -72,6 +72,43 @@ public function payment_method_gateway_configuration_is_optional(): void
$this->assertConfigurationIsValid([['custom' => [['gatewayConfig' => []]]]], 'custom.*.gatewayConfig');
}

/**
* @test
*/
public function payment_method_instructions_configuration_must_by_string(): void
{
$this->assertConfigurationIsValid([['custom' => [['instructions' => 'test']]]], 'custom.*.instructions');
$this->assertConfigurationIsInvalid([['custom' => [['instructions' => ['test']]]]], 'Invalid type for path "payment_method.custom.0.instructions". Expected scalar, but got array');
}

/**
* @test
*/
public function payment_method_instructions_configuration_can_be_null(): void
{
$this->assertConfigurationIsValid([['custom' => [['instructions' => null]]]], 'custom.*.instructions');
}

/**
* @test
*/
public function payment_method_instructions_configuration_default_null(): void
{
$this->assertProcessedConfigurationEquals(
[['custom' => [[]]]],
['custom' => [[]]],
'custom.*.instructions'
);
}

/**
* @test
*/
public function payment_method_instructions_configuration_is_optional(): void
{
$this->assertConfigurationIsValid([['custom' => [[]]]], 'custom.*.instructions');
}

/**
* @test
*/
Expand Down

0 comments on commit e9106f6

Please sign in to comment.