属性だから私はGETそれは期待どおりに動作しているすべての属性を最小限のパスワードを表示Laravel、Behat&偽物問題は、私は次のライブラリにLaravelを使用してい
今私はモデルを作成してPOSTを行うときrm Faker属性のパスワードを送信できません。
偽物工場
<?php
$factory->define(App\User::class, function (Faker\Generator $faker) {
$role = App\Role::all()->random(1);
return [
'role_id' => $role->id,
'username' => $faker->userName,
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => $faker->safeEmail,
'password' => str_random(10),
];
});
ユーザーモデル
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $hidden = [ 'password' ];
/* rest of the code */
/* I have a validation rule for password to be required */
ユーザコンテキスト機能
<?php
/**
* @When I try to save a valid user
*/
public function iTryToSaveAValidUser()
{
$modelFake = factory('App\User')->make();
$client = new GuzzleHttp\Client();
$data['data'] = $modelFake;
$res = $client->request('POST', url($this->apiURL . '/user'),[ 'json' => $data ]);
}
エラーが発生しましたパスワードが必要ですが、GETで隠しただけを設定する方法がありますか?
私は次のコードで、この問題を「固定」が、私はこのように事前に
<?php
/**
* @When I try to save a valid user
*/
public function iTryToSaveAValidUser()
{
$modelFake = factory('App\User')->make();
$client = new GuzzleHttp\Client();
$modelArray = $modelFake->toArray();
$modelArray['password'] = str_random(10);
$data['data'] = $modelArray;
$res = $client->request('POST', url($this->apiURL . '/user'),[ 'json' => $data ]);
}
感謝を好きではありません!
ありがとう!!私は '$ modelFake-> makeVisible( 'password');をコンテキスト関数に追加して、完全に動作します! – AgeValed