/**
  * @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());
 }