/** * @covers ::create() */ public function testCreate() { $event = new Event('event_name', 1); $clientRequest = $this->getMock('GuzzleHttp\\Message\\RequestInterface'); $client = $this->getMockBuilder('GuzzleHttp\\ClientInterface')->disableOriginalConstructor()->getMock(); $client->expects(self::once())->method('createRequest')->with('POST', EventClient::INTERCOM_BASE_URL . '/events', ['headers' => ['Content-Type' => 'application/json', 'Accept' => 'application/json'], 'json' => $event->format(), 'query' => [], 'auth' => [$this->appId, $this->apiKey]])->will(self::returnValue($clientRequest)); $client->expects(self::once())->method('send')->with($clientRequest); (new EventClient($this->appId, $this->apiKey, $client))->create($event); }
/** * Create an Event * * @param EventObject $event * * @throws HttpClientException * * @return GuzzleHttp\Message\Response */ public function create(EventObject $event) { return $this->send(new Request('POST', self::INTERCOM_BASE_URL . '/events', [], $event->format())); }
public function testAddMetadata() { $metadata = new EventMetadata(["invitee_email" => "*****@*****.**", "invite_code" => "ADDAFRIEND"]); $event = new Event('invited-friend', 1, null, $metadata); $this->assertEquals(["invitee_email" => "*****@*****.**", "invite_code" => "ADDAFRIEND"], $event->format()['metadata']); }