/** * Adds a media reference to the current person. * * @param \Gedcomx\Rs\Client\SourceDescriptionState $description * @param \Gedcomx\Rs\Client\Options\StateTransitionOption $option,... * * @return \Gedcomx\Rs\Client\PersonState */ public function addMediaDescription(SourceDescriptionState $description, StateTransitionOption $option = null) { $reference = new SourceReference(); $reference->setDescriptionRef($description->getSelfUri()); return $this->passOptionsTo('addMediaReference', array($reference), func_get_args()); }
/** * @link https://familysearch.org/developers/docs/api/tree/Delete_Couple_Relationship_Source_Reference_usecase */ public function testDeleteCoupleRelationshipSourceReference() { $factory = new FamilyTreeStateFactory(); $this->collectionState($factory); /** @var FamilyTreePersonState $husband */ $husband = $this->createPerson('male'); $this->assertEquals(HttpStatus::CREATED, $husband->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $husband)); $husband = $husband->get(); $this->assertEquals(HttpStatus::OK, $husband->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $husband)); /** @var FamilyTreePersonState $wife */ $wife = $this->createPerson('female'); $this->assertEquals(HttpStatus::CREATED, $wife->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $wife)); /** @var FamilyTreeRelationshipState $relationship */ $relationship = $husband->addSpouse($wife); $this->assertEquals(HttpStatus::CREATED, $relationship->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $relationship)); $this->queueForDelete($relationship); $relationship = $relationship->get(); $this->assertEquals(HttpStatus::OK, $relationship->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $relationship)); $sourceState = $this->createSource(); $reference = new SourceReference(); $reference->setDescriptionRef($sourceState->getSelfUri()); $reference->setAttribution(new Attribution(array("changeMessage" => $this->faker->sentence(6)))); $sourceRef = $relationship->addSourceReference($reference); $this->assertEquals(HttpStatus::CREATED, $sourceRef->getResponse()->getStatusCode(), $this->buildFailMessage(__METHOD__ . ':' . __LINE__, $sourceRef)); $relationship->loadSourceReferences(); $this->assertNotEmpty($relationship->getRelationship()->getSources()); $state = $relationship->deleteSourceReference($relationship->getSourceReference()); $this->AssertNotNull($state->ifSuccessful()); $this->assertEquals(HttpStatus::NO_CONTENT, $state->getResponse()->getStatusCode()); $relationship = $relationship->get(); $relationship->loadSourceReferences(); $this->assertEmpty($relationship->getRelationship()->getSources()); }