/** * @param Lead $lead * @description tests adding a lead using mock curl object * @dataProvider leadProvider */ public function testAddLead(Lead $lead) { $leadsApi = $this->getLeadsApi(); $returnedLead = clone $lead; $returnedLead->setId('TestIdString'); $expectedResponse = new CloseIoResponse(); $expectedResponse->setReturnCode(201); $expectedResponse->setRawData(json_encode($returnedLead)); $expectedResponse->setData(json_decode($expectedResponse->getRawData(), true)); $leadsApi->setCurl($this->getMockResponderCurl($expectedResponse)); $response = $leadsApi->addLead($lead); $createdLead = new Lead($response->getData()); $this->assertTrue($createdLead->getName() === $lead->getName()); $this->assertNotEmpty($createdLead->getId()); $this->assertEmpty($lead->getId()); }