assertInstanceOf(ContactAttachmentRequest::class, $request); $this->assertSame(AttachmentType::Contact, $request->type); $this->assertInstanceOf(ContactAttachmentRequestPayload::class, $request->payload); $this->assertSame('John Doe', $request->payload->name); $this->assertSame(12345, $request->payload->contactId); $expectedArray = [ 'type' => 'contact', 'payload' => [ 'name' => 'John Doe', 'contact_id' => 12345, 'vcf_info' => 'BEGIN:VCARD...', 'vcf_phone' => 'TEL:+1234567890', ], ]; $this->assertEquals($expectedArray, $request->toArray()); } #[Test] public function itCreatesRequestWithOnlySomeFields(): void { $request = new ContactAttachmentRequest(name: 'Jane Doe', vcfPhone: 'TEL:+9876543210'); $expectedArray = [ 'type' => 'contact', 'payload' => [ 'name' => 'Jane Doe', 'contact_id' => null, 'vcf_info' => null, 'vcf_phone' => 'TEL:+9876543210', ], ]; $this->assertEquals($expectedArray, $request->toArray()); } }