refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
This commit is contained in:
126
tests/Feature/SettingsTest.php
Normal file
126
tests/Feature/SettingsTest.php
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Tests\FeatureTestCase;
|
||||
use Illuminate\Support\Carbon;
|
||||
use App\Models\Contact\Contact;
|
||||
use LaravelWebauthn\Models\WebauthnKey;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
|
||||
class SettingsTest extends FeatureTestCase
|
||||
{
|
||||
use DatabaseTransactions;
|
||||
|
||||
/**
|
||||
* Returns an array containing a user object along with
|
||||
* a contact for that user.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function fetchUser()
|
||||
{
|
||||
$user = $this->signIn();
|
||||
|
||||
$contact = factory(Contact::class)->create([
|
||||
'account_id' => $user->account_id,
|
||||
]);
|
||||
|
||||
return [$user, $contact];
|
||||
}
|
||||
|
||||
public function test_user_can_access_settings_page()
|
||||
{
|
||||
[$user, $contact] = $this->fetchUser();
|
||||
|
||||
$response = $this->get('/settings');
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$response->assertSee(trans('settings.sidebar_settings'));
|
||||
}
|
||||
|
||||
public function test_user_can_export_account()
|
||||
{
|
||||
[$user, $contact] = $this->fetchUser();
|
||||
|
||||
$response = $this->get('/settings/export');
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$response->assertSee(trans('settings.export_title'));
|
||||
|
||||
Carbon::setTestNow(Carbon::create(2021, 11, 25, 7, 0, 0));
|
||||
|
||||
$response = $this->post(route('settings.export.store.sql'));
|
||||
|
||||
$response->assertStatus(302);
|
||||
// $this->assertTrue($response->headers->get('content-disposition') == 'attachment; filename=monica-export.2021-11-25.sql');
|
||||
}
|
||||
|
||||
public function test_user_can_delete_account()
|
||||
{
|
||||
[$user, $contact] = $this->fetchUser();
|
||||
|
||||
$response = $this->followingRedirects()
|
||||
->post(route('settings.delete'));
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$response->assertSee('Login');
|
||||
}
|
||||
|
||||
public function test_it_updates_the_default_profile_view()
|
||||
{
|
||||
$user = $this->signin();
|
||||
|
||||
$response = $this->json('POST', '/settings/updateDefaultProfileView', [
|
||||
'name' => 'life-events',
|
||||
]);
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$this->assertDatabaseHas('users', [
|
||||
'profile_active_tab' => 'life-events',
|
||||
'id' => $user->id,
|
||||
]);
|
||||
|
||||
$response = $this->json('POST', '/settings/updateDefaultProfileView', [
|
||||
'name' => 'notes',
|
||||
]);
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$this->assertDatabaseHas('users', [
|
||||
'profile_active_tab' => 'notes',
|
||||
'id' => $user->id,
|
||||
]);
|
||||
|
||||
$response = $this->json('POST', '/settings/updateDefaultProfileView', [
|
||||
'name' => 'nawak',
|
||||
]);
|
||||
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
public function test_user_see_webauthnkeys()
|
||||
{
|
||||
$user = $this->signin();
|
||||
$webauthnKey = factory(WebauthnKey::class)->create([
|
||||
'user_id' => $user->id,
|
||||
'updated_at' => '2019-04-01 09:18:35',
|
||||
]);
|
||||
|
||||
$this->session([
|
||||
'webauthn_auth' => true,
|
||||
]);
|
||||
|
||||
$response = $this->followingRedirects()
|
||||
->get(route('settings.security.index'));
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$response->assertSee($webauthnKey->name);
|
||||
$response->assertSee('2019-04-01T09:18:35Z');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user