browse(function ($browser){ $browser->visit('/client/login') ->assertPathIs('/client/login'); }); } /** * A valid user can be logged in. * * @return void */ public function testLoginAValidUser() { \Eloquent::unguard(); $faker = \Faker\Factory::create(); $account = factory(\App\Models\Account::class)->create(); $company = factory(\App\Models\Company::class)->create([ 'account_id' => $account->id, 'domain' => 'ninja.test', ]); $account->default_company_id = $company->id; $account->save(); $user = factory(\App\Models\User::class)->create([ 'email' => $faker->email, // 'account_id' => $account->id, 'confirmation_code' => $this->createDbHash(config('database.default')) ]); $company_token = \App\Models\CompanyToken::create([ 'user_id' => $user->id, 'company_id' => $company->id, 'account_id' => $account->id, 'name' => 'test token', 'token' => str_random(64), ]); $user->companies()->attach($company->id, [ 'account_id' => $account->id, 'is_owner' => 1, 'is_admin' => 1, 'is_locked' => 0, 'permissions' => json_encode([]), 'settings' => json_encode(DefaultSettings::userSettings()), ]); $client = factory(\App\Models\Client::class)->create([ 'user_id' => $user->id, 'company_id' => $company->id ]); $contact = new ClientContact; $contact->first_name = $faker->firstName; $contact->last_name = $faker->lastName; $contact->email = $faker->email; $contact->company_id = $company->id; $contact->password = Hash::make(config('ninja.testvars.password')); $contact->email_verified_at = now(); $contact->client_id = $client->id; $contact->save(); $this->browse(function ($browser) use ($contact) { $browser->visit('/client/login') ->type('email', $contact->email) ->type('password', config('ninja.testvars.password')) ->press('Login') ->assertPathIs('/client/dashboard'); }); } }