Added test for social account detach

This commit is contained in:
Dan Brown 2021-06-14 22:30:53 +01:00
parent 3d5899d28c
commit 94bf5b8fbb
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
2 changed files with 27 additions and 1 deletions

View File

@ -14,7 +14,7 @@ Route::group(['middleware' => 'auth'], function () {
// Shelves // Shelves
Route::get('/create-shelf', 'BookshelfController@create'); Route::get('/create-shelf', 'BookshelfController@create');
Route::group(['prefix' => 'shelves'], function() { Route::group(['prefix' => 'shelves'], function () {
Route::get('/', 'BookshelfController@index'); Route::get('/', 'BookshelfController@index');
Route::post('/', 'BookshelfController@store'); Route::post('/', 'BookshelfController@store');
Route::get('/{slug}/edit', 'BookshelfController@edit'); Route::get('/{slug}/edit', 'BookshelfController@edit');

View File

@ -1,5 +1,6 @@
<?php namespace Tests\Auth; <?php namespace Tests\Auth;
use BookStack\Auth\SocialAccount;
use BookStack\Auth\User; use BookStack\Auth\User;
use DB; use DB;
use Laravel\Socialite\Contracts\Factory; use Laravel\Socialite\Contracts\Factory;
@ -83,6 +84,31 @@ class SocialAuthTest extends TestCase
$resp->assertDontSee("login-form"); $resp->assertDontSee("login-form");
} }
public function test_social_account_detach()
{
$editor = $this->getEditor();
config([
'GITHUB_APP_ID' => 'abc123', 'GITHUB_APP_SECRET' => '123abc',
'APP_URL' => 'http://localhost'
]);
$socialAccount = SocialAccount::query()->forceCreate([
'user_id' => $editor->id,
'driver' => 'github',
'driver_id' => 'logintest123',
]);
$resp = $this->actingAs($editor)->get($editor->getEditUrl());
$resp->assertElementContains('a[href$="/login/service/github/detach"]', 'Disconnect Account');
$resp = $this->get('/login/service/github/detach');
$resp->assertRedirect($editor->getEditUrl());
$resp = $this->followRedirects($resp);
$resp->assertSee('Github account was successfully disconnected from your profile.');
$this->assertDatabaseMissing('social_accounts', ['id' => $socialAccount->id]);
}
public function test_social_autoregister() public function test_social_autoregister()
{ {
config([ config([