Skip to content
This repository was archived by the owner on Aug 22, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,9 @@
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php",
"tests/models",
"tests/seeds"
]
"psr-4": {
"Jenssegers\\Mongodb\\Tests\\": "tests/"
}
},
"suggest": {
"jenssegers/mongodb-session": "Add MongoDB session support to Laravel-MongoDB",
Expand Down
6 changes: 6 additions & 0 deletions tests/AuthTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
<?php

namespace Jenssegers\Mongodb\Tests;

use Illuminate\Auth\Passwords\PasswordBroker;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Jenssegers\Mongodb\Tests\Models\User;
use MongoDB\BSON\UTCDateTime;

class AuthTest extends TestCase
Expand Down
2 changes: 2 additions & 0 deletions tests/CollectionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use Jenssegers\Mongodb\Collection;
use Jenssegers\Mongodb\Connection;
use MongoDB\BSON\ObjectID;
Expand Down
4 changes: 4 additions & 0 deletions tests/ConnectionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use Generator;
use Illuminate\Support\Facades\DB;
use InvalidArgumentException;
use Jenssegers\Mongodb\Collection;
use Jenssegers\Mongodb\Connection;
use Jenssegers\Mongodb\Query\Builder;
Expand Down
14 changes: 13 additions & 1 deletion tests/EmbeddedRelationsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,20 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use DateTime;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Events\Dispatcher;
use Jenssegers\Mongodb\Tests\Models\Address;
use Jenssegers\Mongodb\Tests\Models\Book;
use Jenssegers\Mongodb\Tests\Models\Client;
use Jenssegers\Mongodb\Tests\Models\Group;
use Jenssegers\Mongodb\Tests\Models\Item;
use Jenssegers\Mongodb\Tests\Models\Photo;
use Jenssegers\Mongodb\Tests\Models\Role;
use Jenssegers\Mongodb\Tests\Models\User;
use Mockery;
use MongoDB\BSON\ObjectId;

class EmbeddedRelationsTest extends TestCase
Expand Down Expand Up @@ -678,7 +690,7 @@ public function testEmbeddedSave()
{
/** @var User $user */
$user = User::create(['name' => 'John Doe']);
/** @var \Address $address */
/** @var Address $address */
$address = $user->addresses()->create(['city' => 'New York']);
$father = $user->father()->create(['name' => 'Mark Doe']);

Expand Down
5 changes: 5 additions & 0 deletions tests/GeospatialTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use Illuminate\Support\Facades\Schema;
use Jenssegers\Mongodb\Tests\Models\Location;

class GeospatialTest extends TestCase
{
public function setUp(): void
Expand Down
18 changes: 18 additions & 0 deletions tests/HybridRelationsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,32 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use Illuminate\Database\Connection;
use Illuminate\Database\MySqlConnection;
use Illuminate\Support\Facades\DB;
use Jenssegers\Mongodb\Tests\Models\Book;
use Jenssegers\Mongodb\Tests\Models\MysqlBook;
use Jenssegers\Mongodb\Tests\Models\MysqlRole;
use Jenssegers\Mongodb\Tests\Models\MysqlUser;
use Jenssegers\Mongodb\Tests\Models\Role;
use Jenssegers\Mongodb\Tests\Models\User;
use PDOException;

class HybridRelationsTest extends TestCase
{
public function setUp(): void
{
parent::setUp();

/** @var Connection */
try {
DB::connection('mysql')->select('SELECT 1');
} catch (PDOException) {
$this->markTestSkipped('MySQL connection is not available.');
}

MysqlUser::executeSchema();
MysqlBook::executeSchema();
MysqlRole::executeSchema();
Expand Down
10 changes: 10 additions & 0 deletions tests/ModelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,24 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests;

use Carbon\Carbon;
use DateTime;
use DateTimeImmutable;
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\Date;
use Illuminate\Support\Str;
use Jenssegers\Mongodb\Collection;
use Jenssegers\Mongodb\Connection;
use Jenssegers\Mongodb\Eloquent\Model;
use Jenssegers\Mongodb\Tests\Models\Book;
use Jenssegers\Mongodb\Tests\Models\Guarded;
use Jenssegers\Mongodb\Tests\Models\Item;
use Jenssegers\Mongodb\Tests\Models\MemberStatus;
use Jenssegers\Mongodb\Tests\Models\Soft;
use Jenssegers\Mongodb\Tests\Models\User;
use MongoDB\BSON\ObjectID;
use MongoDB\BSON\UTCDateTime;

Expand Down
4 changes: 3 additions & 1 deletion tests/models/Address.php → tests/Models/Address.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Jenssegers\Mongodb\Relations\EmbedsMany;

Expand All @@ -12,6 +14,6 @@ class Address extends Eloquent

public function addresses(): EmbedsMany
{
return $this->embedsMany('Address');
return $this->embedsMany(self::class);
}
}
2 changes: 2 additions & 0 deletions tests/models/Birthday.php → tests/Models/Birthday.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

/**
Expand Down
6 changes: 4 additions & 2 deletions tests/models/Book.php → tests/Models/Book.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

Expand All @@ -21,11 +23,11 @@ class Book extends Eloquent

public function author(): BelongsTo
{
return $this->belongsTo('User', 'author_id');
return $this->belongsTo(User::class, 'author_id');
}

public function mysqlAuthor(): BelongsTo
{
return $this->belongsTo('MysqlUser', 'author_id');
return $this->belongsTo(MysqlUser::class, 'author_id');
}
}
8 changes: 5 additions & 3 deletions tests/models/Client.php → tests/Models/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphOne;
Expand All @@ -15,16 +17,16 @@ class Client extends Eloquent

public function users(): BelongsToMany
{
return $this->belongsToMany('User');
return $this->belongsToMany(User::class);
}

public function photo(): MorphOne
{
return $this->morphOne('Photo', 'has_image');
return $this->morphOne(Photo::class, 'has_image');
}

public function addresses(): HasMany
{
return $this->hasMany('Address', 'data.client_id', 'data.client_id');
return $this->hasMany(Address::class, 'data.client_id', 'data.client_id');
}
}
4 changes: 3 additions & 1 deletion tests/models/Group.php → tests/Models/Group.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

Expand All @@ -13,6 +15,6 @@ class Group extends Eloquent

public function users(): BelongsToMany
{
return $this->belongsToMany('User', 'users', 'groups', 'users', '_id', '_id', 'users');
return $this->belongsToMany(User::class, 'users', 'groups', 'users', '_id', '_id', 'users');
}
}
2 changes: 2 additions & 0 deletions tests/models/Guarded.php → tests/Models/Guarded.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class Guarded extends Eloquent
Expand Down
4 changes: 3 additions & 1 deletion tests/models/Item.php → tests/Models/Item.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Jenssegers\Mongodb\Eloquent\Builder;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
Expand All @@ -19,7 +21,7 @@ class Item extends Eloquent

public function user(): BelongsTo
{
return $this->belongsTo('User');
return $this->belongsTo(User::class);
}

public function scopeSharp(Builder $query)
Expand Down
2 changes: 2 additions & 0 deletions tests/models/Location.php → tests/Models/Location.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class Location extends Eloquent
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

namespace Jenssegers\Mongodb\Tests\Models;

enum MemberStatus: string
{
case Member = 'MEMBER';
Expand Down
7 changes: 5 additions & 2 deletions tests/models/MysqlBook.php → tests/Models/MysqlBook.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Model as EloquentModel;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Jenssegers\Mongodb\Eloquent\HybridRelations;

class MysqlBook extends Eloquent
class MysqlBook extends EloquentModel
{
use HybridRelations;

Expand All @@ -18,7 +21,7 @@ class MysqlBook extends Eloquent

public function author(): BelongsTo
{
return $this->belongsTo('User', 'author_id');
return $this->belongsTo(User::class, 'author_id');
}

/**
Expand Down
9 changes: 6 additions & 3 deletions tests/models/MysqlRole.php → tests/Models/MysqlRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Model as EloquentModel;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Jenssegers\Mongodb\Eloquent\HybridRelations;

class MysqlRole extends Eloquent
class MysqlRole extends EloquentModel
{
use HybridRelations;

Expand All @@ -17,12 +20,12 @@ class MysqlRole extends Eloquent

public function user(): BelongsTo
{
return $this->belongsTo('User');
return $this->belongsTo(User::class);
}

public function mysqlUser(): BelongsTo
{
return $this->belongsTo('MysqlUser');
return $this->belongsTo(MysqlUser::class);
}

/**
Expand Down
12 changes: 8 additions & 4 deletions tests/models/MysqlUser.php → tests/Models/MysqlUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Model as EloquentModel;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Schema\MySqlBuilder;
use Illuminate\Support\Facades\Schema;
use Jenssegers\Mongodb\Eloquent\HybridRelations;

class MysqlUser extends Eloquent
class MysqlUser extends EloquentModel
{
use HybridRelations;

Expand All @@ -18,12 +22,12 @@ class MysqlUser extends Eloquent

public function books(): HasMany
{
return $this->hasMany('Book', 'author_id');
return $this->hasMany(Book::class, 'author_id');
}

public function role(): HasOne
{
return $this->hasOne('Role');
return $this->hasOne(Role::class);
}

public function mysqlBooks(): HasMany
Expand All @@ -36,7 +40,7 @@ public function mysqlBooks(): HasMany
*/
public static function executeSchema(): void
{
/** @var \Illuminate\Database\Schema\MySqlBuilder $schema */
/** @var MySqlBuilder $schema */
$schema = Schema::connection('mysql');

if (! $schema->hasTable('users')) {
Expand Down
2 changes: 2 additions & 0 deletions tests/models/Photo.php → tests/Models/Photo.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Jenssegers\Mongodb\Tests\Models;

use Illuminate\Database\Eloquent\Relations\MorphTo;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

Expand Down
Loading