Skip to content

Commit

Permalink
Merge pull request #892 from loic425/sf7/fix-phpspec-errors
Browse files Browse the repository at this point in the history
[SF7] Fix phpspec tests
  • Loading branch information
loic425 committed May 30, 2024
2 parents 28fee40 + e1c2ff4 commit af37c1e
Show file tree
Hide file tree
Showing 9 changed files with 108 additions and 114 deletions.
2 changes: 1 addition & 1 deletion src/Bundle/Controller/Parameters.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpKernel\Kernel;

if (Kernel::MAJOR_VERSION === 6) {
if (Kernel::MAJOR_VERSION >= 6) {
class Parameters extends ParameterBag
{
/**
Expand Down
4 changes: 2 additions & 2 deletions src/Bundle/spec/Controller/RedirectHandlerSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
use Sylius\Bundle\ResourceBundle\Controller\RedirectHandlerInterface;
use Sylius\Bundle\ResourceBundle\Controller\RequestConfiguration;
use Sylius\Resource\Model\ResourceInterface;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
Expand Down Expand Up @@ -104,7 +104,7 @@ function it_redirects(RequestConfiguration $configuration): void
$this->redirect($configuration, 'http://myurl.com')->shouldHaveType(RedirectResponse::class);
}

function it_redirect_to_referer(RequestConfiguration $configuration, Request $request, ParameterBag $bag): void
function it_redirect_to_referer(RequestConfiguration $configuration, Request $request, HeaderBag $bag): void
{
$request->headers = $bag;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ function it_creates_configuration_using_only_those_serialization_groups_that_are
ParametersParserInterface $parametersParser,
MetadataInterface $metadata,
Request $request,
ParameterBag $headersBag,
HeaderBag $headersBag,
ParameterBag $attributesBag,
): void {
$request->headers = $headersBag;
Expand Down Expand Up @@ -167,7 +167,7 @@ function it_creates_configuration_using_only_those_serialization_groups_that_are
ParametersParserInterface $parametersParser,
MetadataInterface $metadata,
Request $request,
ParameterBag $headersBag,
HeaderBag $headersBag,
ParameterBag $attributesBag,
): void {
$request->headers = $headersBag;
Expand Down Expand Up @@ -197,7 +197,7 @@ function it_creates_configuration_using_only_those_serialization_groups_that_are
ParametersParserInterface $parametersParser,
MetadataInterface $metadata,
Request $request,
ParameterBag $headersBag,
HeaderBag $headersBag,
ParameterBag $attributesBag,
): void {
$request->headers = $headersBag;
Expand Down
82 changes: 44 additions & 38 deletions src/Bundle/spec/Controller/RequestConfigurationSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
use Prophecy\Argument;
use Sylius\Bundle\ResourceBundle\Controller\Parameters;
use Sylius\Resource\Metadata\MetadataInterface;
use Symfony\Component\HttpFoundation\HeaderBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\Request;

Expand Down Expand Up @@ -132,7 +134,7 @@ function it_generates_route_names(MetadataInterface $metadata, Parameters $param
$this->getRouteName('custom')->shouldReturn('sylius_admin_product_custom');
}

function it_generates_redirect_referer(Parameters $parameters, Request $request, ParameterBag $bag): void
function it_generates_redirect_referer(Parameters $parameters, Request $request, HeaderBag $bag): void
{
$request->headers = $bag;
$bag->get('referer')->willReturn('http://myurl.com');
Expand Down Expand Up @@ -275,9 +277,10 @@ function it_has_criteria_parameter(
Parameters $parameters,
Request $request,
ParameterBag $attributesBag,
ParameterBag $queryBag,
ParameterBag $requestBag,
): void {
$queryBag = new InputBag();
$requestBag = new InputBag();

$criteria = ['property' => 'myNewValue'];
$request->attributes = $attributesBag;
$request->query = $queryBag;
Expand All @@ -287,9 +290,10 @@ function it_has_criteria_parameter(
$parameters->get('criteria', Argument::any())->willReturn([]);

$attributesBag->get('criteria', $request)->willReturn($request);
$queryBag->has('criteria')->willReturn(true);
$queryBag->all()->willReturn(['criteria' => $criteria]);
$requestBag->all()->willReturn(['criteria' => []]);

$queryBag->set('criteria', $criteria);

$requestBag->set('criteria', []);

$this->getCriteria()->shouldReturn($criteria);
}
Expand All @@ -298,9 +302,10 @@ function it_has_criteria_parameter_in_request(
Parameters $parameters,
Request $request,
ParameterBag $attributesBag,
ParameterBag $queryBag,
ParameterBag $requestBag,
): void {
$queryBag = new InputBag();
$requestBag = new InputBag();

$criteria = ['property' => 'myNewValue'];
$request->attributes = $attributesBag;
$request->query = $queryBag;
Expand All @@ -310,9 +315,8 @@ function it_has_criteria_parameter_in_request(
$parameters->get('criteria', Argument::any())->willReturn([]);

$attributesBag->get('criteria', $request)->willReturn($request);
$queryBag->has('criteria')->willReturn(false);
$requestBag->has('criteria')->willReturn(true);
$requestBag->all()->willReturn(['criteria' => $criteria]);

$requestBag->set('criteria', $criteria);

$this->getCriteria()->shouldReturn($criteria);
}
Expand All @@ -321,9 +325,10 @@ function it_allows_to_override_criteria_parameter_in_route(
Parameters $parameters,
Request $request,
ParameterBag $attributesBag,
ParameterBag $queryBag,
ParameterBag $requestBag,
): void {
$queryBag = new InputBag();
$requestBag = new InputBag();

$criteria = ['property' => 'myValue'];
$overriddenCriteria = ['other_property' => 'myNewValue'];
$combinedCriteria = ['property' => 'myValue', 'other_property' => 'myNewValue'];
Expand All @@ -333,10 +338,12 @@ function it_allows_to_override_criteria_parameter_in_route(

$parameters->get('filterable', false)->willReturn(true);
$parameters->get('criteria', [])->willReturn($criteria);

$attributesBag->get('criteria', $request)->willReturn($request);
$queryBag->has('criteria')->willReturn(true);
$queryBag->all()->willReturn(['criteria' => $overriddenCriteria]);
$requestBag->all()->willReturn(['criteria' => []]);

$queryBag->set('criteria', $overriddenCriteria);

$requestBag->set('criteria', []);

$this->getCriteria()->shouldReturn($combinedCriteria);

Expand All @@ -346,18 +353,16 @@ function it_allows_to_override_criteria_parameter_in_route(
$parameters->get('filterable', false)->willReturn(true);
$parameters->get('criteria', Argument::any())->willReturn($criteria);
$attributesBag->get('criteria', $request)->willReturn($request);
$queryBag->has('criteria')->willReturn(true);
$queryBag->all()->willReturn(['criteria' => $overriddenCriteria]);
$requestBag->all()->willReturn(['criteria' => []]);
$queryBag->set('criteria', $overriddenCriteria);
$requestBag->set('criteria', []);

$this->getCriteria($defaultCriteria)->shouldReturn($combinedDefaultCriteria);

$parameters->get('filterable', false)->willReturn(true);
$parameters->get('criteria', [])->willReturn(['filter' => 'route']);
$attributesBag->get('criteria', $request)->willReturn($request);
$queryBag->has('criteria')->willReturn(true);
$queryBag->all()->willReturn(['criteria' => ['filter' => 'request']]);
$requestBag->all()->willReturn(['criteria' => []]);
$queryBag->set('criteria', ['filter' => 'request']);
$requestBag->set('criteria', []);

$this->getCriteria(['filter' => 'default'])->shouldReturn(['filter' => 'request']);
}
Expand All @@ -375,20 +380,23 @@ function it_has_sorting_parameter(
Parameters $parameters,
Request $request,
ParameterBag $attributesBag,
ParameterBag $queryBag,
ParameterBag $requestBag,
): void {
$queryBag = new InputBag();
$requestBag = new InputBag();

$sorting = ['property' => 'asc'];
$request->attributes = $attributesBag;
$request->query = $queryBag;
$request->request = $requestBag;

$parameters->get('sortable', false)->willReturn(true);
$parameters->get('sorting', Argument::any())->willReturn($sorting);

$attributesBag->get('sorting', $request)->willReturn($request);
$queryBag->has('sorting')->willReturn(true);
$queryBag->all()->willReturn(['sorting' => $sorting]);
$requestBag->get('sorting', [])->willReturn([]);

$queryBag->set('sorting', $sorting);

$requestBag->set('sorting', []);

$this->getSorting()->shouldReturn($sorting);
}
Expand All @@ -408,9 +416,10 @@ function it_allows_to_override_sorting_parameter_in_route(
Parameters $parameters,
Request $request,
ParameterBag $attributesBag,
ParameterBag $queryBag,
ParameterBag $requestBag,
): void {
$queryBag = new InputBag();
$requestBag = new InputBag();

$sorting = ['property' => 'desc'];
$overriddenSorting = ['other_property' => 'asc'];
$combinedSorting = ['other_property' => 'asc', 'property' => 'desc'];
Expand All @@ -421,9 +430,8 @@ function it_allows_to_override_sorting_parameter_in_route(
$parameters->get('sortable', false)->willReturn(true);
$parameters->get('sorting', [])->willReturn($sorting);
$attributesBag->get('sorting', $request)->willReturn($request);
$queryBag->has('sorting')->willReturn(true);
$queryBag->all()->willReturn(['sorting' => $overriddenSorting]);
$requestBag->get('sorting', [])->willReturn([]);
$queryBag->set('sorting', $overriddenSorting);
$requestBag->set('sorting', []);

$this->getSorting()->shouldReturn($combinedSorting);

Expand All @@ -433,18 +441,16 @@ function it_allows_to_override_sorting_parameter_in_route(
$parameters->get('sortable', false)->willReturn(true);
$parameters->get('sorting', Argument::any())->willReturn($sorting);
$attributesBag->get('sorting', $request)->willReturn($request);
$queryBag->has('sorting')->willReturn(true);
$queryBag->all()->willReturn(['sorting' => $overriddenSorting]);
$requestBag->get('sorting', [])->willReturn([]);
$queryBag->set('sorting', $overriddenSorting);
$requestBag->set('sorting', []);

$this->getSorting($defaultSorting)->shouldReturn($combinedDefaultSorting);

$parameters->get('sortable', false)->willReturn(true);
$parameters->get('sorting', [])->willReturn(['sort' => 'route']);
$attributesBag->get('sorting', $request)->willReturn($request);
$queryBag->has('sorting')->willReturn(true);
$queryBag->all()->willReturn(['sorting' => ['sort' => 'request']]);
$requestBag->get('sorting', [])->willReturn([]);
$queryBag->set('sorting', ['sort' => 'request']);
$requestBag->set('sorting', []);

$this->getSorting(['sort' => 'default'])->shouldReturn(['sort' => 'request']);
}
Expand Down
20 changes: 10 additions & 10 deletions src/Bundle/spec/Controller/ResourceControllerSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormView;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\InputBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
Expand Down Expand Up @@ -1784,7 +1784,7 @@ function it_deletes_multiple_resources_and_redirects_to_index_for_html_request(
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::BULK_DELETE)->willReturn('sylius.product.bulk_delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -1903,7 +1903,7 @@ function it_deletes_a_resource_and_redirects_to_index_by_for_html_request(
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -1954,7 +1954,7 @@ function it_uses_response_from_post_delete_event_if_defined(
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2005,7 +2005,7 @@ function it_does_not_delete_a_resource_and_redirects_to_index_for_html_requests_
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2056,7 +2056,7 @@ function it_does_not_delete_a_resource_and_uses_response_from_event_if_defined(
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2109,7 +2109,7 @@ function it_does_not_correctly_delete_a_resource_and_returns_500_for_not_html_re
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2159,7 +2159,7 @@ function it_deletes_a_resource_and_returns_204_for_non_html_requests(
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2207,7 +2207,7 @@ function it_does_not_delete_a_resource_and_throws_http_exception_for_non_html_re
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down Expand Up @@ -2259,7 +2259,7 @@ function it_throws_a_403_exception_if_csrf_token_is_invalid_during_delete_action
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::DELETE)->willReturn('sylius.product.delete');
$request->request = new ParameterBag(['_csrf_token' => 'xyz']);
$request->request = new InputBag(['_csrf_token' => 'xyz']);

$container->has('security.csrf.token_manager')->willReturn(true);
$container->get('security.csrf.token_manager')->willReturn($csrfTokenManager);
Expand Down
Loading

0 comments on commit af37c1e

Please sign in to comment.