public function testPropagateWhenRemovedFromGroupWithSubdirTarget() { $this->recipientGroup->addUser($this->recipientUser); // relogin to refresh mount points $this->loginAsUser($this->recipientUser->getUID()); $recipientView = new View('/' . $this->recipientUser->getUID() . '/files'); $this->assertTrue($recipientView->mkdir('sub')); $this->assertTrue($recipientView->rename('folder', 'sub/folder')); $this->propagationManager->expects($this->once())->method('propagateSharesToUser')->with($this->callback(function ($shares) { if (count($shares) !== 1) { return false; } $share = array_values($shares)[0]; return $share['file_source'] === $this->fileInfo['fileid'] && $share['share_with'] === $this->recipientGroup->getGID() && $share['file_target'] === '/sub/folder'; }), $this->recipientUser->getUID()); $this->recipientGroup->removeUser($this->recipientUser); }