diff --git a/tests/Feature/ModelNamespaceMigrationTest.php b/tests/Feature/ModelNamespaceMigrationTest.php new file mode 100644 index 000000000..74261d75b --- /dev/null +++ b/tests/Feature/ModelNamespaceMigrationTest.php @@ -0,0 +1,83 @@ +toHaveKey('App\Status'); + expect($morphMap['App\Status'])->toBe(Status::class); + + expect($morphMap)->toHaveKey('App\Profile'); + expect($morphMap['App\Profile'])->toBe(Profile::class); + + expect($morphMap)->toHaveKey('App\User'); + expect($morphMap['App\User'])->toBe(User::class); + + expect($morphMap)->toHaveKey('App\DirectMessage'); + expect($morphMap['App\DirectMessage'])->toBe(DirectMessage::class); + + expect($morphMap)->toHaveKey('App\Media'); + expect($morphMap['App\Media'])->toBe(Media::class); + + expect($morphMap)->toHaveKey('App\MediaTag'); + expect($morphMap['App\MediaTag'])->toBe(MediaTag::class); + + expect($morphMap)->toHaveKey('App\Like'); + expect($morphMap['App\Like'])->toBe(Like::class); + + expect($morphMap)->toHaveKey('App\Notification'); + expect($morphMap['App\Notification'])->toBe(Notification::class); + + expect($morphMap)->toHaveKey('App\Story'); + expect($morphMap['App\Story'])->toBe(Story::class); + + expect($morphMap)->toHaveKey('App\Report'); + expect($morphMap['App\Report'])->toBe(Report::class); + + expect($morphMap)->toHaveKey('App\Follower'); + expect($morphMap['App\Follower'])->toBe(Follower::class); + + expect($morphMap)->toHaveKey('App\UserFilter'); + expect($morphMap['App\UserFilter'])->toBe(UserFilter::class); + + expect($morphMap)->toHaveKey('App\AccountInterstitial'); + expect($morphMap['App\AccountInterstitial'])->toBe(AccountInterstitial::class); + }); + + it('resolves morph type to the correct model instance', function () { + $class = Relation::getMorphedModel('App\Status'); + expect($class)->toBe(Status::class); + + $class = Relation::getMorphedModel('App\Profile'); + expect($class)->toBe(Profile::class); + + $class = Relation::getMorphedModel('App\User'); + expect($class)->toBe(User::class); + }); + + it('models reside in App\\Models namespace', function () { + expect(Status::class)->toBe('App\Models\Status'); + expect(Profile::class)->toBe('App\Models\Profile'); + expect(User::class)->toBe('App\Models\User'); + expect(Media::class)->toBe('App\Models\Media'); + expect(Like::class)->toBe('App\Models\Like'); + expect(Notification::class)->toBe('App\Models\Notification'); + expect(Story::class)->toBe('App\Models\Story'); + expect(Follower::class)->toBe('App\Models\Follower'); + }); +});