public function testAddFolder() { $folder = new EmailFolder(); $folder->setType('sent'); $folder->setName('Test'); $folder->setFullName('Test'); $this->batch->addFolder($folder); $this->assertCount(1, ReflectionUtil::getProtectedProperty($this->batch, 'folders')); $this->assertEquals('Test', $this->batch->getFolder('sent', 'TeST')->getFullName()); $this->assertNull($this->batch->getFolder('sent', 'Another')); $folder1 = new EmailFolder(); $folder1->setType('trash'); $folder1->setName('Test'); $folder1->setFullName('Test'); $this->batch->addFolder($folder1); $this->assertCount(2, ReflectionUtil::getProtectedProperty($this->batch, 'folders')); $this->assertEquals('Test', $this->batch->getFolder('trash', 'TeST')->getFullName()); $this->assertNull($this->batch->getFolder('trash', 'Another')); $this->setExpectedException('LogicException'); $folder2 = new EmailFolder(); $folder2->setType('sent'); $folder2->setName('TEST'); $folder2->setFullName('TEST'); $this->batch->addFolder($folder2); }
/** * Create EmailFolder entity object * * @param string $type The folder type. Can be inbox, sent, trash, drafts or other * @param string $fullName The full name of a folder * @param string $name The folder name * @return EmailFolder */ protected function folder($type, $fullName, $name) { $result = $this->batch->getFolder($type, $fullName); if ($result === null) { $result = new EmailFolder(); $result->setType($type)->setFullName($fullName)->setName($name); $this->batch->addFolder($result); } return $result; }