name); self::assertEquals('description', $attribute->description); self::assertEquals('some payload', $attribute->payload); } public function testUsage(): void { $invoice = new Invoice(); $invoice->setComment('foo bar'); $usage = new InvoiceDeleteEvent($invoice); $ref = new \ReflectionClass($usage); $attr = $ref->getAttributes(AsWebhook::class); self::assertCount(1, $attr); $arguments = $attr[0]->getArguments(); self::assertEquals('invoice.deleted', $arguments['name']); self::assertEquals('Triggered after an invoice was deleted', $arguments['description']); self::assertEquals('object.getInvoice()', $arguments['payload']); } }