public function testInstance() { /** @var \Mockery\Mock|\Hitmeister\Component\Api\Transfers\SubscriptionUpdateTransfer $transfer */ $transfer = \Mockery::mock('\\Hitmeister\\Component\\Api\\Transfers\\SubscriptionUpdateTransfer'); $transfer->shouldReceive('toArray')->once()->andReturn(['callback_url' => 'http://localhost']); $update = new Update($this->transport); $update->setId(10); $update->setTransfer($transfer); $this->assertInstanceOf('\\Hitmeister\\Component\\Api\\Transfers\\SubscriptionUpdateTransfer', $update->getTransfer()); $this->assertEquals(10, $update->getId()); $this->assertEquals([], $update->getParamWhiteList()); $this->assertEquals('PATCH', $update->getMethod()); $this->assertEquals('subscriptions/10/', $update->getURI()); $body = $update->getBody(); $this->assertArrayHasKey('callback_url', $body); }
/** * @param int $id * @param string $eventName * @param string $callbackUrl * @param string $fallbackEmail * @param bool $isActive * @return bool */ public function update($id, $eventName = null, $callbackUrl = null, $fallbackEmail = null, $isActive = null) { $data = new SubscriptionUpdateTransfer(); if (null !== $eventName) { $data->event_name = $eventName; } if (null !== $callbackUrl) { $data->callback_url = $callbackUrl; } if (null !== $fallbackEmail) { $data->fallback_email = $fallbackEmail; } if (null !== $isActive) { $data->is_active = (bool) $isActive; } $endpoint = new Update($this->getTransport()); $endpoint->setId($id); $endpoint->setTransfer($data); try { $result = $endpoint->performRequest(); } catch (ResourceNotFoundException $e) { return false; } return $result['status'] == 204; }