Skip to content

Commit a236081

Browse files
authored
Merge pull request #16 from trms/#13-ModelRequest-can-take-grandchildren
#13 ModelRequest should accept grandchildren
2 parents 160e759 + 784fd5f commit a236081

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

Tests/ModelRequestTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use TRMS\Carousel\Requests\ModelRequest;
44
use TRMS\Carousel\Exceptions\CarouselRequestException;
55
use TRMS\Carousel\Models\Bulletin;
6+
use TRMS\Carousel\Models\BulletinTag;
67

78

89
class ModelRequestTest extends PHPUnit_Framework_TestCase
@@ -43,4 +44,10 @@ function test_when_passed_an_id_and_other_params_it_throws_an_exception()
4344
}
4445
$this->fail('the exception was not thrown');
4546
}
47+
48+
function test_it_can_handle_a_class_with_CarouselModel_as_a_grandparent()
49+
{
50+
$request = \Mockery::mock(ModelRequest::class,[BulletinTag::class])->makePartial();
51+
$this->assertEquals('bulletintags',$request->url());
52+
}
4653
}

src/Requests/ModelRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public function __construct(string $responseClassName, Array $params=[])
1212
{
1313
$responseClass = new $responseClassName();
1414

15-
if(get_parent_class($responseClass) !== CarouselModel::class){
15+
if(get_parent_class($responseClass) !== CarouselModel::class && get_parent_class(get_parent_class($responseClass)) !== CarouselModel::class ){
1616
throw new CarouselRequestException('The classname passed in to the ModelRequest must be a child of CarouselModel');
1717
}
1818

0 commit comments

Comments
 (0)