/** * @covers Artist::validateModel */ public function testValidateModelWithoutMbid() { $artistDummy = $this->dummyArtistProvider(); $artistDummy->mbid = null; $this->assertTrue($this->object->validateModel($artistDummy, $error), 'Artist validation should be ok, but returned reason:' . $error); $this->assertEquals($artistDummy->id, $this->object->id, 'Artist id should have been set during validation'); $this->assertEquals($artistDummy->name, $this->object->name, 'Artist name should have been set during validation'); $this->assertEquals($artistDummy->country, $this->object->country, 'Artist country should have been set during validation'); $this->assertEquals($artistDummy->summary, $this->object->summary, 'Artist summary should have been set during validation'); $this->assertNull($this->object->mbid, 'Artist MBID should not have been set during validation'); $artistDummy->mbid = ''; $this->assertTrue($this->object->validateModel($artistDummy, $error), 'Artist validation should be ok, but returned reason:' . $error); $this->assertNull($this->object->mbid, 'Artist MBID should not have been set during validation'); $artistDummy->mbid = 'MbidShorterThan36'; $this->assertFalse($this->object->validateModel($artistDummy, $error), 'Artist validation should not be ok'); $this->assertEquals('String with a valid format must be provided in MBID attribute', $error, 'Error message should be "String with a valid format must be provided in MBID attribute" but returned: ' . $error); }
$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; } $artist->getTracks(); $api->output(200, $artist->structureData()); break; }