Как мне сделать ссылку на модель App \ User в упаковке laravel при тестировании? - PullRequest
0 голосов
/ 11 октября 2018

Я кодирую пакет laravel, который взаимодействует с моделью пользователя.

Когда я тестирую его в браузере, все в порядке, потому что App \ User существует, но когда я тестирую свой плагин, App\Userне существует.

Так что это не удается.Я заменил все ссылки с App\User на Illuminate\Foundation\Auth\User, но мои отношения потерпели неудачу, мои заводы не работают. Например,

, фабрика пользователей:

$factory->define(\Illuminate\Foundation\Auth\User::class, function (Faker\Generator $faker) {
    return [
        'name'               => $faker->name,
        'email'              => $faker->unique()->safeEmail,
        'email_verified_at'  => now(),
        'password'           => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
        'remember_token'     => str_random(10),
        'firstname'          => $faker->firstname,
        'lastname'           => $faker->lastName,
    ];
});

Не будет работать с \Illuminate\Foundation\Auth\User::class, поскольку он не имеет всех настраиваемых полей: email_verified_at, firstname, lastname и т. д.

Итак, мои тесты не пройдены:

11) Xoco70\LaravelTournaments\Tests\SingleEliminationWPrelimTest::it_can_generate_prelim_tree_with_12_fighters
Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1 table users has no column named email_verified_at (SQL: insert into "users" ("name", "email", "email_verified_at", "password", "remember_token", "firstname", "lastname", "updated_at", "created_at") values (user, jennifer86@example.org, 2018-10-11 09:14:17, $2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm, KZmf72JC9D, Buster, Hackett, 2018-10-11 09:14:17, 2018-10-11 09:14:17))

или мои отношения:

public function users()
{
    return $this->belongsToMany(\Illuminate\Foundation\Auth\User::class, 'competitor', 'championship_id')
        ->withPivot('confirmed')
        ->withTimestamps();
}

Не сработает ни один.

Как мне управлять?

...