Skip to content

Commit 89f8ad8

Browse files
icewind1991backportbot[bot]
authored andcommitted
test: adjust tests to new tag rename rule
test: adjust tests to new tag rename rule Signed-off-by: Robin Appelman <robin@icewind.nl> [skip ci]
1 parent f752c81 commit 89f8ad8

2 files changed

Lines changed: 22 additions & 14 deletions

File tree

apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,22 @@ public static function tagNodeProvider(): array {
7070
[
7171
true,
7272
new SystemTag('1', 'Original', true, true),
73-
['Renamed', true, true, null]
73+
['Renamed', true, true, null],
74+
true,
7475
],
7576
[
7677
true,
7778
new SystemTag('1', 'Original', true, true),
78-
['Original', false, false, null]
79+
['Original', false, false, null],
80+
true,
7981
],
8082
// non-admin
8183
[
82-
// renaming allowed
84+
// renaming not allowed
8385
false,
8486
new SystemTag('1', 'Original', true, true),
85-
['Rename', true, true, '0082c9']
87+
['Renamed', true, true, null],
88+
false,
8689
],
8790
];
8891
}
@@ -93,13 +96,18 @@ public function testUpdateTag(bool $isAdmin, ISystemTag $originalTag, array $cha
9396
->method('canUserSeeTag')
9497
->with($originalTag)
9598
->willReturn($originalTag->isUserVisible() || $isAdmin);
96-
$this->tagManager->expects($this->once())
97-
->method('canUserAssignTag')
99+
$this->tagManager->method('canUserAssignTag')
98100
->with($originalTag)
99101
->willReturn($originalTag->isUserAssignable() || $isAdmin);
100-
$this->tagManager->expects($this->once())
101-
->method('updateTag')
102-
->with(1, $changedArgs[0], $changedArgs[1], $changedArgs[2], $changedArgs[3]);
102+
if ($allowed) {
103+
$this->tagManager->expects($this->once())
104+
->method('updateTag')
105+
->with(1, $changedArgs[0], $changedArgs[1], $changedArgs[2], $changedArgs[3]);
106+
} else {
107+
$this->expectException(\Sabre\DAV\Exception\Forbidden::class);
108+
$this->tagManager->expects($this->never())
109+
->method('updateTag');
110+
}
103111
$this->getTagNode($isAdmin, $originalTag)
104112
->update($changedArgs[0], $changedArgs[1], $changedArgs[2], $changedArgs[3]);
105113
}
@@ -187,7 +195,7 @@ public function testUpdateTagAlreadyExists(): void {
187195
->method('updateTag')
188196
->with(1, 'Renamed', true, true)
189197
->willThrowException(new TagAlreadyExistsException());
190-
$this->getTagNode(false, $tag)->update('Renamed', true, true, null);
198+
$this->getTagNode(true, $tag)->update('Renamed', true, true, null);
191199
}
192200

193201

@@ -207,7 +215,7 @@ public function testUpdateTagNotFound(): void {
207215
->method('updateTag')
208216
->with(1, 'Renamed', true, true)
209217
->willThrowException(new TagNotFoundException());
210-
$this->getTagNode(false, $tag)->update('Renamed', true, true, null);
218+
$this->getTagNode(true, $tag)->update('Renamed', true, true, null);
211219
}
212220

213221
#[\PHPUnit\Framework\Attributes\DataProvider('adminFlagProvider')]

build/integration/files_features/tags.feature

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ Feature: tags
3636
Then The response should have a status code "400"
3737
And "0" tags should exist for "user0"
3838

39-
Scenario: Renaming a normal tag as regular user should work
39+
Scenario: Renaming a normal tag as regular user should fail
4040
Given user "user0" exists
4141
Given "admin" creates a "normal" tag with name "MySuperAwesomeTagName"
4242
When "user0" edits the tag with name "MySuperAwesomeTagName" and sets its name to "AnotherTagName"
43-
Then The response should have a status code "207"
43+
Then The response should have a status code "403"
4444
And The following tags should exist for "admin"
45-
|AnotherTagName|true|true|
45+
|MySuperAwesomeTagName|true|true|
4646

4747
Scenario: Renaming a not user-assignable tag as regular user should fail
4848
Given user "user0" exists

0 commit comments

Comments
 (0)