/** * test set anonymity * * @return void */ public function testSetAnonymity() { $entity = new DocumentEntity(); $user = m::mock('Xpressengine\\Member\\Entities\\Database\\MemberEntity'); $user->shouldReceive('getId')->andReturn('id'); $user->shouldReceive('getDisplayName')->andReturn('name'); /** @var \Xpressengine\Member\Entities\Database\MemberEntity $user */ $entity->anonymity('anonymity'); $this->assertEquals('anonymity', $entity->writer); }
/** * create board item entity by document entity * * @param DocumentEntity $doc document entity * @param Request $request request * @param MemberEntityInterface $user user * @return ItemEntity */ public function makeItem(DocumentEntity $doc, Request $request = null, MemberEntityInterface $user = null) { if ($request !== null && $user !== null) { if ($request->get('notice') === '1') { $doc->notice(); } // 비회원 글쓰기 또는 익명 글쓰기 처리 if ($user instanceof Guest) { $doc->guest(); } elseif ($request->get('anonymity') == '1') { $doc->anonymity($this->config->get('anonymityName')); } else { $doc->setAuthor($user); } } $item = new ItemEntity(); $item->setDocument($doc); if ($request !== null) { // set files if (($fileIds = $request->get('_files')) !== null) { $item->setFiles($this->storage->getsIn($fileIds)); } } return $item; }