Пример #1
0
 /**
  * @covers Artist::populate
  * @depends testUpdate
  */
 public function testPopulate(Artist $updatedArtistDummy)
 {
     $artistDummy = $this->dummyArtistProvider();
     //populate by name, expected no match
     $this->assertFalse($this->object->populate(['name' => 'nameValue']), 'Populate should not find any artist with name nameValue');
     //populate by name, expected match
     $this->assertTrue($this->object->populate(['name' => 'artistName']), 'Populate should find the created artist with name ' . $artistDummy->name);
     //populate by mbid, expected match
     $this->assertTrue($this->object->populate(['mbid' => $artistDummy->mbid]), 'Populate should find the created artist with mbid ' . $artistDummy->mbid);
     //populate by id, expected match
     $this->assertTrue($this->object->populate(['id' => 2]), 'Populate should find the created artist with id 2 (previously created)');
     //populate by all criteria, expected match
     $this->assertTrue($this->object->populate(['id' => 2, 'mbid' => $updatedArtistDummy->mbid, 'name' => $updatedArtistDummy->name]), 'Populate should find the created artist with id 2 (previously created)');
     //check populate return all attributes
     $this->assertEquals($updatedArtistDummy->name, $this->object->name, 'Artist name should have been set during populate');
     $this->assertEquals($updatedArtistDummy->country, $this->object->country, 'Artist country should have been set during populate');
     $this->assertEquals($updatedArtistDummy->summary, $this->object->summary, 'Artist summary should have been set during populate');
     $this->assertEquals($updatedArtistDummy->mbid, $this->object->mbid, 'Artist mbid should have been set during populate');
 }
Пример #2
0
 if (!$api->checkAuth()) {
     //User not authentified/authorized
     return;
 }
 if (!$api->checkScope('admin')) {
     $api->output(403, 'Admin scope is required for editing artist');
     //indicate the requester do not have the required scope for updating artist
     return;
 }
 if (!$api->checkParameterExists('id', $id)) {
     $api->output(400, 'Artist identifier must be provided');
     //artist was not provided, return an error
     return;
 }
 $artist = new Artist($id);
 if (!$artist->populate(['id' => $id])) {
     $api->output(404, 'Artist not found');
     //indicate the artist was not found
     return;
 }
 //adapt and validate object received
 $updatedArtist = $api->query['body'];
 if (!$artist->validateModel($updatedArtist, $errorMessage)) {
     $api->output(400, 'Artist is not valid: ' . $errorMessage);
     //provided user is not valid
     return;
 }
 if (!$artist->update($errorMessage)) {
     $api->output(500, 'Error during artist update' . $errorMessage);
     //something gone wrong :(
     return;