getContainer()->get('entityManager'); $targetList = $entityManager->getEntity('TargetList'); $entityManager->saveEntity($targetList); $team = $entityManager->getEntity('Team'); $entityManager->saveEntity($team); $recordService = $this->getContainer()->get('recordServiceContainer')->get('LeadCapture'); $service = $this->getInjectableFactory()->create(CaptureService::class); $leadCaptureData = (object) [ 'name' => 'test', 'subscribeToTargetList' => true, 'targetListId' => $targetList->id, 'targetTeamId' => $team->id, 'fieldList' => ['name', 'emailAddress'], 'leadSource' => 'Web Site' ]; $leadCapture = $recordService->create($leadCaptureData, CreateParams::create()); $this->assertNotEmpty($leadCapture->get('apiKey')); $data = (object) [ 'firstName' => 'Test', 'lastName' => 'Tester', 'emailAddress' => 'test@tester.com' ]; $service->capture($leadCapture->get('apiKey'), $data); $lead = $entityManager->getRepository('Lead') ->where(['emailAddress' => 'test@tester.com']) ->findOne(); $this->assertNotNull($lead); $this->assertEquals('Web Site', $lead->get('source')); $this->assertTrue($entityManager->getRepository('Lead')->isRelated($lead, 'teams', $team->id)); $this->assertTrue($entityManager->getRepository('Lead')->isRelated($lead, 'targetLists', $targetList->id)); } }