Files
ugly-queue/tests/UglyQueueManager/UglyQueueManagerTest.php

215 lines
7.2 KiB
PHP

<?php
/**
* Class UglyQueueManagerTest
*/
class UglyQueueManagerTest extends PHPUnit\Framework\TestCase
{
protected $baseDir;
protected $reallyTastySandwich = array(
'0' => 'beef broth',
'1' => 'barbeque sauce',
'2' => 'boneless pork ribs',
);
protected function setUp(): void
{
$this->baseDir = realpath(__DIR__.'/../misc/queues');
}
/**
* @covers \Cybercinch\UglyQueueManager::__construct
* @covers \Cybercinch\UglyQueue::unserialize
* @covers \Cybercinch\UglyQueueManager::addQueue
* @covers \Cybercinch\UglyQueueManager::containsQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @uses \Cybercinch\UglyQueue
* @return \Cybercinch\UglyQueueManager
*/
public function testCanInitializeObjectWithValidPath()
{
$manager = new \Cybercinch\UglyQueueManager($this->baseDir);
$this->assertInstanceOf('\\Cybercinch\\UglyQueueManager', $manager);
return $manager;
}
/**
* @covers \Cybercinch\UglyQueueManager::__construct
* @uses \Cybercinch\UglyQueueManager
*/
public function testExceptionThrownDuringConstructionWithInvalidBasePathValue()
{
$this->expectException(RuntimeException::class);
new \Cybercinch\UglyQueueManager('i do not exist!');
}
/**
* @covers \Cybercinch\UglyQueueManager::containsQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanDetermineIfValidQueueExistsInManager(\Cybercinch\UglyQueueManager $manager)
{
$shouldBeTrue = $manager->containsQueueWithName('tasty-sandwich');
$this->assertTrue($shouldBeTrue);
}
/**
* @covers \Cybercinch\UglyQueueManager::containsQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanDetermineQueueDoesNotExistInManager(\Cybercinch\UglyQueueManager $manager)
{
$shouldBeFalse = $manager->containsQueueWithName('i should not exist');
$this->assertFalse($shouldBeFalse);
}
/**
* @covers \Cybercinch\UglyQueueManager::getQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @uses \Cybercinch\UglyQueue
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanGetUglyQueueObjectFromManager(\Cybercinch\UglyQueueManager $manager)
{
$uglyQueue = $manager->getQueueWithName('tasty-sandwich');
$this->assertInstanceOf('\\Cybercinch\\UglyQueue', $uglyQueue);
$this->assertEquals('tasty-sandwich', $uglyQueue->getName());
}
/**
* @covers \Cybercinch\UglyQueueManager::getQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testExceptionThrownWhenTryingToGetNonExistentQueueFromManager(\Cybercinch\UglyQueueManager $manager)
{
$this->expectException(InvalidArgumentException::class);
$manager->getQueueWithName('sandwiches');
}
/**
* @covers \Cybercinch\UglyQueueManager::getQueueList
* @uses \Cybercinch\UglyQueueManager
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanGetListOfQueuesInManager(\Cybercinch\UglyQueueManager $manager)
{
$queueList = $manager->getQueueList();
$this->assertIsArray($queueList);
$this->assertCount(1, $queueList);
$this->assertContains('tasty-sandwich', $queueList);
}
/**
* @covers \Cybercinch\UglyQueueManager::getQueueWithName
* @covers \Cybercinch\UglyQueueManager::addQueue
* @uses \Cybercinch\UglyQueueManager
* @uses \Cybercinch\UglyQueue
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testExceptionThrownWhenReAddingQueueToManager(\Cybercinch\UglyQueueManager $manager)
{
$this->expectException(RuntimeException::class);
$uglyQueue = $manager->getQueueWithName('tasty-sandwich');
$manager->addQueue($uglyQueue);
}
/**
* @covers \Cybercinch\UglyQueueManager::addQueueAtPath
* @covers \Cybercinch\UglyQueueManager::addQueue
* @covers \Cybercinch\UglyQueueManager::getQueueWithName
* @uses \Cybercinch\UglyQueueManager
* @uses \Cybercinch\UglyQueue
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanInitializeNewQueueAndAddToManager(\Cybercinch\UglyQueueManager $manager)
{
$manager->addQueueAtPath($this->baseDir.'/really-tasty-sandwich');
$uglyQueue = $manager->getQueueWithName('really-tasty-sandwich');
$this->assertInstanceOf('\\Cybercinch\\UglyQueue', $uglyQueue);
$this->assertEquals('really-tasty-sandwich', $uglyQueue->getName());
$queueList = $manager->getQueueList();
$this->assertIsArray($queueList);
$this->assertCount(2, $queueList);
$this->assertContains('really-tasty-sandwich', $queueList);
}
/**
* @covers \Cybercinch\UglyQueueManager::removeQueueByName
* @uses \Cybercinch\UglyQueueManager
* @depends testCanInitializeObjectWithValidPath
* @param \Cybercinch\UglyQueueManager $manager
*/
public function testCanRemoveQueueFromManagerByName(\Cybercinch\UglyQueueManager $manager)
{
$manager->removeQueueByName('really-tasty-sandwich');
$queueList = $manager->getQueueList();
$this->assertCount(1, $queueList);
$this->assertNotContains('really-tasty-sandwich', $queueList);
}
// /**
// * @covers \Cybercinch\UglyQueue::queueExists
// * @uses \Cybercinch\UglyQueue
// * @depends testCanInitializeNewUglyQueue
// * @param \Cybercinch\UglyQueue $uglyQueue
// */
// public function testCanDetermineExistenceOfExistingQueue(\Cybercinch\UglyQueue $uglyQueue)
// {
// $exists = $uglyQueue->queueExists('tasty-sandwich');
//
// $this->assertTrue($exists);
// }
//
// /**
// * @covers \Cybercinch\UglyQueue::queueExists
// * @uses \Cybercinch\UglyQueue
// * @depends testCanInitializeNewUglyQueue
// * @param \Cybercinch\UglyQueue $uglyQueue
// */
// public function testCanDetermineExistenceOfNonExistingQueue(\Cybercinch\UglyQueue $uglyQueue)
// {
// $exists = $uglyQueue->queueExists('nasty-sandwich');
//
// $this->assertFalse($exists);
// }
//
// /**
// * @covers \Cybercinch\UglyQueue::getInitializedQueueList
// * @uses \Cybercinch\UglyQueue
// * @depends testCanInitializeNewUglyQueue
// * @param \Cybercinch\UglyQueue $uglyQueue
// */
// public function testCanGetListOfInitializedQueues(\Cybercinch\UglyQueue $uglyQueue)
// {
// $queueList = $uglyQueue->getInitializedQueueList();
//
// $this->assertEquals(1, count($queueList));
// $this->assertContains('tasty-sandwich', $queueList);
// }
}