Codeception / Codeception/module-rest

Rename `setServerParameters()` to `haveServerParameters()`; drop `haveServerParameter()`

Open
#26 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
60
Forks
30
Avg merge
22h 37m
Merged PRs (30d)
1

Description

Just stumbled upon this while searching for a new name for `deleteHeader()`, see https://github.com/Codeception/module-rest/issues/22

Current situation:
* [`haveServerParameter('name', 'value')`](https://github.com/Codeception/module-rest/blob/master/src/Codeception/Module/REST.php#L1629) uses Symfony's [`Client::setServerParameter()`](https://github.com/symfony/browser-kit/blob/4.4/Client.php#L145)
* [`setServerParameters([])`](https://github.com/Codeception/module-rest/blob/master/src/Codeception/Module/REST.php#L1617) uses Symfony's [`Client::setServerParameters()`](https://github.com/symfony/browser-kit/blob/4.4/Client.php#L132) which sets `'HTTP_USER_AGENT' => 'Symfony BrowserKit'` by default.

I would say:

* "*set*ServerParameters" isn't the right term, Codeception's convention for this is "**have**ServerParameters".
* It doesn't make sense to have *two* functions for this, one for a single parameter, and one for multiple. If the expected argument is an *array*, anybody knows immediately what to pass. So the existing `haveServerParameter` can be deprecated in favor of the new `haveServerParameters`.
* Remaining question: Is the "Symfony BrowserKit" thing more of a bug or more of a feature?
If feature: Just pass the array along to Symfony's `setServerParameters`, and that's it.
If bug: `foreach()` over the array and use Symfony's `setServerParameter`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.