private function mockJenkinsJobWithDependencies($buildHealth = true)
{
$this->shmockAndDieselify('\\Bart\\Jenkins\\JenkinsConfig', function ($jConfigs) {
$jConfigs->domain()->once()->return_value('jenkins.example.com');
$jConfigs->port()->once()->return_value('8080');
$jConfigs->protocol()->once()->return_value('http');
$jConfigs->user()->once()->return_value('user');
$jConfigs->token()->once()->return_value('token');
$jConfigs->jobLocation()->once()->return_value('job/Base/job/Build');
}, true);
$mockConnection = $this->shmockAndDieselify('\\Bart\\Jenkins\\Connection', function ($connection) {
$connection->setAuth()->once();
}, true);
$mockJob = $this->shmock('\\Bart\\Jenkins\\Job', function ($jobStub) use($buildHealth) {
$jobStub->isHealthy()->once()->return_value($buildHealth);
}, true);
Diesel::registerInstantiator('\\Bart\\Jenkins\\Job', function ($connection) use($mockJob, $mockConnection) {
$this->assertEquals($mockConnection, $connection, '\\Bart\\Jenkins\\Connection object');
return $mockJob;
});
}