Skip to content

Commit 4a02854

Browse files
authored
Merge pull request #11 from kirschbaum-development/feature/add-tests
Added tests
2 parents 555eb8b + 880c4b0 commit 4a02854

28 files changed

Lines changed: 1650 additions & 0 deletions

composer.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,21 @@
99
"require": {
1010
"php": ">=7.1.0"
1111
},
12+
"require-dev": {
13+
"orchestra/testbench": "^3.8",
14+
"phpunit/phpunit": "^7.5",
15+
"mockery/mockery": "^1.1"
16+
},
1217
"autoload": {
1318
"psr-4": {
1419
"KirschbaumDevelopment\\NovaInlineRelationship\\": "src/"
1520
}
1621
},
22+
"autoload-dev": {
23+
"psr-4": {
24+
"KirschbaumDevelopment\\NovaInlineRelationship\\Tests\\": "tests/"
25+
}
26+
},
1727
"extra": {
1828
"laravel": {
1929
"providers": [

tests/Bill.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
class Bill extends Model
8+
{
9+
/**
10+
* The attributes that are mass assignable.
11+
*
12+
* @var array
13+
*/
14+
protected $fillable = ['amount'];
15+
16+
public function employee()
17+
{
18+
$this->belongsTo(Employee::class);
19+
}
20+
}

tests/Comment.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
class Comment extends Model
8+
{
9+
/**
10+
* The attributes that are mass assignable.
11+
*
12+
* @var array
13+
*/
14+
protected $fillable = ['text'];
15+
16+
public function commentable()
17+
{
18+
return $this->morphTo();
19+
}
20+
}

tests/Department.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
class Department extends Model
8+
{
9+
/**
10+
* The attributes that are mass assignable.
11+
*
12+
* @var array
13+
*/
14+
protected $fillable = ['title'];
15+
16+
public function users()
17+
{
18+
return $this->hasMany(User::class);
19+
}
20+
}

tests/Employee.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
class Employee extends Model
8+
{
9+
/**
10+
* The attributes that are mass assignable.
11+
*
12+
* @var array
13+
*/
14+
protected $fillable = ['name'];
15+
16+
public function profile()
17+
{
18+
return $this->hasOne(Profile::class);
19+
}
20+
21+
public function bills()
22+
{
23+
return $this->hasMany(Bill::class);
24+
}
25+
26+
public function summary()
27+
{
28+
return $this->morphOne(Summary::class, 'summarizable');
29+
}
30+
31+
public function comments()
32+
{
33+
return $this->morphMany(Comment::class, 'commentable');
34+
}
35+
36+
public function teams()
37+
{
38+
return $this->belongsToMany(Team::class);
39+
}
40+
}

tests/Profile.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
class Profile extends Model
8+
{
9+
/**
10+
* The attributes that are mass assignable.
11+
*
12+
* @var array
13+
*/
14+
protected $fillable = ['phone'];
15+
16+
public function employee()
17+
{
18+
$this->belongsTo(Employee::class);
19+
}
20+
}

tests/Resource/Bill.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests\Resource;
4+
5+
use Laravel\Nova\Resource;
6+
use Illuminate\Http\Request;
7+
use Laravel\Nova\Fields\Currency;
8+
9+
class Bill extends Resource
10+
{
11+
/**
12+
* The model the resource corresponds to.
13+
*
14+
* @var string
15+
*/
16+
public static $model = \KirschbaumDevelopment\NovaInlineRelationship\Tests\Bill::class;
17+
18+
public function fields(Request $request)
19+
{
20+
return [
21+
Currency::make('Amount'),
22+
];
23+
}
24+
}

tests/Resource/Comment.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests\Resource;
4+
5+
use Laravel\Nova\Fields\Trix;
6+
use Laravel\Nova\Resource;
7+
use Illuminate\Http\Request;
8+
use Laravel\Nova\Fields\Text;
9+
10+
class Comment extends Resource
11+
{
12+
/**
13+
* The model the resource corresponds to.
14+
*
15+
* @var string
16+
*/
17+
public static $model = \KirschbaumDevelopment\NovaInlineRelationship\Tests\Comment::class;
18+
19+
public function fields(Request $request)
20+
{
21+
return [
22+
Trix::make('text'),
23+
];
24+
}
25+
}

tests/Resource/Department.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests\Resource;
4+
5+
use Laravel\Nova\Resource;
6+
use Illuminate\Http\Request;
7+
use Laravel\Nova\Fields\Text;
8+
9+
class Department extends Resource
10+
{
11+
/**
12+
* The model the resource corresponds to.
13+
*
14+
* @var string
15+
*/
16+
public static $model = \KirschbaumDevelopment\NovaInlineRelationship\Tests\Department::class;
17+
18+
public function fields(Request $request)
19+
{
20+
return [
21+
Text::make('Title'),
22+
];
23+
}
24+
}

tests/Resource/Employee.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace KirschbaumDevelopment\NovaInlineRelationship\Tests\Resource;
4+
5+
use Laravel\Nova\Resource;
6+
use Illuminate\Http\Request;
7+
use Laravel\Nova\Fields\Text;
8+
use Laravel\Nova\Fields\HasMany;
9+
10+
class Employee extends Resource
11+
{
12+
/**
13+
* The model the resource corresponds to.
14+
*
15+
* @var string
16+
*/
17+
public static $model = \KirschbaumDevelopment\NovaInlineRelationship\Tests\Employee::class;
18+
19+
public function fields(Request $request)
20+
{
21+
return [
22+
Text::make('Name'),
23+
24+
HasMany::make('Profile', 'profile', Profile::class)->inline(),
25+
];
26+
}
27+
}

0 commit comments

Comments
 (0)