/** * @param ArtifactType $artifactType * @return array|ArtifactCollection */ public function getAllByType(ArtifactType $artifactType) { try { $response = $this->getGetResponseFromEndpoint('/' . $artifactType->getName()); return $this->buildArtifactListFromJson($response->json()); } catch (EntityNotFoundException $e) { return new ArtifactCollection(); } }
/** * @test */ public function canGetAllByType() { $artifactType = new ArtifactType(); $artifactType->setName('topseller'); $validator = $this->getMock('\\Symfony\\Component\\Validator\\Validator', array('validate'), array(), '', FALSE); $storageBackend = $this->getMock('\\Searchperience\\Api\\Client\\System\\Storage\\RestArtifactBackend', array('getAllByType')); $storageBackend->expects($this->once())->method('getAllByType')->with($artifactType)->will($this->returnValue(new ArtifactCollection())); $this->repository->injectStorageBackend($storageBackend); $this->repository->setEntityCollectionName('\\Searchperience\\Api\\Client\\Domain\\Insight\\ArtifactCollection'); $this->repository->injectValidator($validator); $this->repository->getAllByType($artifactType); }
/** * @param mixed $jsonData * @return array|ArtifactTypeCollection */ protected function buildFromJson($jsonData) { $artifactTypeCollection = new ArtifactTypeCollection(); $types = $jsonData["data"]; foreach ($types as $type) { $artifactType = new ArtifactType(); if (isset($type["name"])) { $artifactType->setName($type["name"]); } $artifactTypeCollection[] = $artifactType; } return $artifactTypeCollection; }
/** * @test */ public function canGetAllArtifactType() { $restClient = new \Guzzle\Http\Client('http://api.searchperience.me/qvc/'); $mock = new \Guzzle\Plugin\Mock\MockPlugin(); $mock->addResponse(new \Guzzle\Http\Message\Response(201, NULL, $this->getFixtureContent('Api/Client/System/Storage/Fixture/artifact_types.json'))); $restClient->addSubscriber($mock); $this->artifactTypeBackend->injectRestClient($restClient); $expectedArtifactTypeCollection = new ArtifactTypeCollection(); $artifactType1 = new ArtifactType(); $artifactType1->setName("topseller"); $expectedArtifactTypeCollection->append($artifactType1); $artifactType2 = new ArtifactType(); $artifactType2->setName("recommendation"); $expectedArtifactTypeCollection->append($artifactType2); $actualArtifactTypeCollection = $this->artifactTypeBackend->getAll(); $this->assertEquals($expectedArtifactTypeCollection, $actualArtifactTypeCollection); }
/** * @test */ public function canGetAllByType() { $restClient = new \Guzzle\Http\Client('http://api.searchperience.me/qvc/'); $mock = new \Guzzle\Plugin\Mock\MockPlugin(); $mock->addResponse(new \Guzzle\Http\Message\Response(201, NULL, $this->getFixtureContent('Api/Client/System/Storage/Fixture/artifacts.json'))); $restClient->addSubscriber($mock); $this->artifactBackend->injectRestClient($restClient); $expectedArtifactCollection = new ArtifactCollection(); $expectedArtifact1 = new GenericArtifact(); $expectedArtifact1->setId("1"); $expectedArtifact1->setTypeName("topseller"); $expectedArtifactCollection->append($expectedArtifact1); $expectedArtifact2 = new GenericArtifact(); $expectedArtifact2->setId("2"); $expectedArtifact2->setTypeName("topseller"); $expectedArtifactCollection->append($expectedArtifact2); $artifactType = new ArtifactType(); $artifactType->setName("topseller"); $actualArtifacts = $this->artifactBackend->getAllByType($artifactType); $this->assertEquals($expectedArtifactCollection, $actualArtifacts); }
/** * @test */ public function verifyGetterAndSetter() { $this->entity->setName('topseller'); $this->assertEquals($this->entity->getName(), 'topseller'); }