public function testMarkPaid() { $invoice = new Invoice(); $this->dispatcher->shouldReceive('dispatch')->once()->withAnyArgs(); $this->dispatcher->shouldReceive('dispatch')->once()->withAnyArgs(); // Ensure paid date is empty when creating invoice $this->assertNull($invoice->getPaidDate()); $this->manager->pay($invoice); $this->assertInstanceOf('DateTime', $invoice->getPaidDate()); $this->assertSame(null, $invoice->getStatus()); }