Skip to content

Commit 8132e67

Browse files
committed
Deprecate TimeEntryActivity::getIdByName()
1 parent 60d4b07 commit 8132e67

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3333
- `Redmine\Api\Project::getIdByName()` is deprecated, use `\Redmine\Api\Project::listNames()` instead.
3434
- `Redmine\Api\Role::listing()` is deprecated, use `\Redmine\Api\Role::listNames()` instead.
3535
- `Redmine\Api\TimeEntryActivity::listing()` is deprecated, use `\Redmine\Api\TimeEntryActivity::listNames()` instead.
36+
- `Redmine\Api\TimeEntryActivity::getIdByName()` is deprecated, use `\Redmine\Api\TimeEntryActivity::listNames()` instead.
3637
- `Redmine\Api\Tracker::listing()` is deprecated, use `\Redmine\Api\Tracker::listNames()` instead.
3738
- `Redmine\Api\User::listing()` is deprecated, use `\Redmine\Api\User::listLogins()` instead.
3839
- `Redmine\Api\Version::listing()` is deprecated, use `\Redmine\Api\Version::listNamesByProject()` instead.

src/Redmine/Api/TimeEntryActivity.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,17 @@ public function listing($forceUpdate = false)
111111
/**
112112
* Get a activities id given its name.
113113
*
114+
* @deprecated v2.7.0 Use listNames() instead.
115+
* @see Project::listNames()
116+
*
114117
* @param string $name
115118
*
116119
* @return int|false
117120
*/
118121
public function getIdByName($name)
119122
{
123+
@trigger_error('`' . __METHOD__ . '()` is deprecated since v2.7.0, use `' . __CLASS__ . '::listNames()` instead.', E_USER_DEPRECATED);
124+
120125
$arr = $this->doListing(false);
121126

122127
if (!isset($arr[$name])) {

tests/Unit/Api/TimeEntryActivityTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,4 +221,33 @@ public function testGetIdByNameMakesGetRequest()
221221
$this->assertFalse($api->getIdByName('TimeEntryActivities 1'));
222222
$this->assertSame(2, $api->getIdByName('TimeEntryActivities 2'));
223223
}
224+
225+
public function testGetIdByNameTriggersDeprecationWarning()
226+
{
227+
$client = $this->createMock(Client::class);
228+
$client->method('requestGet')
229+
->willReturn(true);
230+
$client->method('getLastResponseBody')
231+
->willReturn('{"time_entry_activities":[{"id":1,"name":"TimeEntryActivity 1"},{"id":5,"name":"TimeEntryActivity 5"}]}');
232+
$client->method('getLastResponseContentType')
233+
->willReturn('application/json');
234+
235+
$api = new TimeEntryActivity($client);
236+
237+
// PHPUnit 10 compatible way to test trigger_error().
238+
set_error_handler(
239+
function ($errno, $errstr): bool {
240+
$this->assertSame(
241+
'`Redmine\Api\TimeEntryActivity::getIdByName()` is deprecated since v2.7.0, use `Redmine\Api\TimeEntryActivity::listNames()` instead.',
242+
$errstr,
243+
);
244+
245+
restore_error_handler();
246+
return true;
247+
},
248+
E_USER_DEPRECATED,
249+
);
250+
251+
$api->getIdByName('TimeEntryActivities 2');
252+
}
224253
}

0 commit comments

Comments
 (0)