withoutEvents(); $invitation = Invitation::factory()->createOne(); $status = $invitation->status; static::assertInstanceOf(InvitationStatus::class, $status); } /** * Invitations shall be nameable. * * @return void */ public function testNameable(): void { $this->withoutEvents(); $invitation = Invitation::factory()->createOne(); static::assertIsString($invitation->getName()); } /** * The Invitation is open if the Invitation Status is Open. * * @return void */ public function testInvitationIsOpen(): void { $this->withoutEvents(); $invitation = Invitation::factory()->createOne([ Invitation::ATTRIBUTE_STATUS => InvitationStatus::OPEN, ]); static::assertTrue($invitation->isOpen()); } /** * The Invitation is not open if the Invitation Status is not Open. * * @return void */ public function testInvitationIsClosed(): void { $this->withoutEvents(); $invitation = Invitation::factory()->createOne([ Invitation::ATTRIBUTE_STATUS => InvitationStatus::CLOSED, ]); static::assertFalse($invitation->isOpen()); } /** * The Invitation shall send a InvitationMail after creation. * * @return void */ public function testInvitationMailWasSent(): void { Mail::fake(); Invitation::factory()->create(); Mail::assertQueued(InvitationMail::class); } }