diff --git a/src/VladimirYuldashev/LaravelQueueRabbitMQ/Queue/RabbitMQQueue.php b/src/VladimirYuldashev/LaravelQueueRabbitMQ/Queue/RabbitMQQueue.php index 3bd29dd2..b5f952c1 100644 --- a/src/VladimirYuldashev/LaravelQueueRabbitMQ/Queue/RabbitMQQueue.php +++ b/src/VladimirYuldashev/LaravelQueueRabbitMQ/Queue/RabbitMQQueue.php @@ -71,7 +71,9 @@ public function __construct(AMQPStreamConnection $amqpConnection, $config) */ public function size($queue = null) { - // TODO: Implement size() method. + list(, $messageCount) = $this->channel->queue_declare($this->getQueueName($queue), true); + + return $messageCount; } /** diff --git a/tests/RabbitMQQueueTest.php b/tests/RabbitMQQueueTest.php index ec6fac9b..7180a3e8 100644 --- a/tests/RabbitMQQueueTest.php +++ b/tests/RabbitMQQueueTest.php @@ -48,7 +48,18 @@ public function setUp() public function test_size() { - $this->queue->size(); + $messageCount = 5; + $consumerCount = 1; + + $this->channel->shouldReceive('queue_declare')->with( + $this->config['queue'], + true + )->once() + ->andReturn([$this->config['queue'], $messageCount, $consumerCount]); + + $size = $this->queue->size(); + + $this->assertEquals($messageCount, $size); } public function test_push()