Skip to content

Commit bdf2794

Browse files
committed
WIP
1 parent 527005f commit bdf2794

File tree

6 files changed

+178
-0
lines changed

6 files changed

+178
-0
lines changed

composer.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88
"email": "[email protected]"
99
}
1010
],
11+
"repositories": [
12+
{
13+
"type": "composer",
14+
"url": "https://nova.laravel.com"
15+
}
16+
],
1117
"require": {
1218
"genealabs/laravel-pivot-events": "*",
1319
"illuminate/cache": "5.8 - 6.0",
@@ -20,6 +26,7 @@
2026
},
2127
"require-dev": {
2228
"fzaninotto/faker": "*",
29+
"laravel/nova": "2.*",
2330
"mockery/mockery": "*",
2431
"orchestra/testbench-browser-kit": "3.9.x-dev@dev",
2532
"orchestra/testbench": "3.9.x-dev@dev",

tests/CreatesApplication.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php namespace GeneaLabs\LaravelModelCaching\Tests;
22

33
use GeneaLabs\LaravelModelCaching\Providers\Service as LaravelModelCachingService;
4+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Providers\NovaServiceProvider;
45

56
trait CreatesApplication
67
{
@@ -53,6 +54,7 @@ protected function getPackageProviders($app)
5354
{
5455
return [
5556
LaravelModelCachingService::class,
57+
NovaServiceProvider::class,
5658
];
5759
}
5860
}

tests/EnvironmentSetup.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,19 @@ protected function getEnvironmentSetUp($app)
3030
'connection' => 'model-cache',
3131
]);
3232
$app['config']->set('laravel-model-caching.store', 'model');
33+
$app['config']->set("nova", [
34+
'name' => 'Nova Site',
35+
'url' => env('APP_URL', '/'),
36+
'path' => '/nova',
37+
'guard' => env('NOVA_GUARD', null),
38+
'middleware' => [
39+
'web',
40+
Authenticate::class,
41+
DispatchServingNovaEvent::class,
42+
BootTools::class,
43+
Authorize::class,
44+
],
45+
'pagination' => 'simple',
46+
]);
3347
}
3448
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php namespace GeneaLabs\LaravelModelCaching\Tests\Feature\Nova;
2+
3+
use GeneaLabs\LaravelModelCaching\Tests\FeatureTestCase;
4+
5+
class BelongsToManyTest extends FeatureTestCase
6+
{
7+
/** @group test */
8+
public function testCacheCanBeDisabledOnModel()
9+
{
10+
dd();
11+
$result = $this->visit("/nova");
12+
13+
dd($result);
14+
}
15+
}

tests/Fixtures/Nova/Resource.php

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?php
2+
3+
namespace GeneaLabs\LaravelModelCaching\Tests\Fixtures\Nova;
4+
5+
use Laravel\Nova\Http\Requests\NovaRequest;
6+
use Laravel\Nova\Resource as NovaResource;
7+
8+
abstract class Resource extends NovaResource
9+
{
10+
/**
11+
* Build an "index" query for the given resource.
12+
*
13+
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
14+
* @param \Illuminate\Database\Eloquent\Builder $query
15+
* @return \Illuminate\Database\Eloquent\Builder
16+
*/
17+
public static function indexQuery(NovaRequest $request, $query)
18+
{
19+
return $query;
20+
}
21+
22+
/**
23+
* Build a Scout search query for the given resource.
24+
*
25+
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
26+
* @param \Laravel\Scout\Builder $query
27+
* @return \Laravel\Scout\Builder
28+
*/
29+
public static function scoutQuery(NovaRequest $request, $query)
30+
{
31+
return $query;
32+
}
33+
34+
/**
35+
* Build a "detail" query for the given resource.
36+
*
37+
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
38+
* @param \Illuminate\Database\Eloquent\Builder $query
39+
* @return \Illuminate\Database\Eloquent\Builder
40+
*/
41+
public static function detailQuery(NovaRequest $request, $query)
42+
{
43+
return parent::detailQuery($request, $query);
44+
}
45+
46+
/**
47+
* Build a "relatable" query for the given resource.
48+
*
49+
* This query determines which instances of the model may be attached to other resources.
50+
*
51+
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
52+
* @param \Illuminate\Database\Eloquent\Builder $query
53+
* @return \Illuminate\Database\Eloquent\Builder
54+
*/
55+
public static function relatableQuery(NovaRequest $request, $query)
56+
{
57+
return $query;
58+
}
59+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?php namespace GeneaLabs\LaravelModelCaching\Tests\Fixtures\Providers;
2+
3+
use App\User;
4+
use Illuminate\Support\Facades\Gate;
5+
use Laravel\Nova\Nova;
6+
use Laravel\Nova\NovaApplicationServiceProvider;
7+
8+
class NovaServiceProvider extends NovaApplicationServiceProvider
9+
{
10+
/**
11+
* Bootstrap any application services.
12+
*
13+
* @return void
14+
*/
15+
public function boot()
16+
{
17+
parent::boot();
18+
19+
Nova::serving(function () {
20+
Nova::style('laravel-nova-custom-styles', __DIR__ . '/../../public/css/nova.css');
21+
});
22+
}
23+
24+
/**
25+
* Register the Nova routes.
26+
*
27+
* @return void
28+
*/
29+
protected function routes()
30+
{
31+
Nova::routes()
32+
->withAuthenticationRoutes()
33+
->withPasswordResetRoutes()
34+
->register();
35+
}
36+
37+
/**
38+
* Register the Nova gate.
39+
*
40+
* This gate determines who can access Nova in non-local environments.
41+
*
42+
* @return void
43+
*/
44+
protected function gate()
45+
{
46+
Gate::define('viewNova', function (User $user) {
47+
return true;
48+
});
49+
}
50+
51+
/**
52+
* Get the cards that should be displayed on the Nova dashboard.
53+
*
54+
* @return array
55+
*/
56+
protected function cards()
57+
{
58+
return [
59+
];
60+
}
61+
62+
/**
63+
* Get the tools that should be listed in the Nova sidebar.
64+
*
65+
* @return array
66+
*/
67+
public function tools()
68+
{
69+
return [];
70+
}
71+
72+
/**
73+
* Register any application services.
74+
*
75+
* @return void
76+
*/
77+
public function register()
78+
{
79+
//
80+
}
81+
}

0 commit comments

Comments
 (0)