Move integration credentials into encrypted dashboard settings
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 1m42s
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 1m42s
This commit is contained in:
@@ -109,4 +109,28 @@ class EtsySettingsTest extends TestCase
|
||||
$this->assertSame('first-secret', EtsyAppCredential::firstOrFail()->shared_secret);
|
||||
$this->assertDatabaseCount('etsy_connections', 0);
|
||||
}
|
||||
|
||||
public function test_shop_name_and_oauth_callback_are_saved_with_server_credentials(): void
|
||||
{
|
||||
config()->set('services.etsy.keystring', 'server-key');
|
||||
config()->set('services.etsy.shared_secret', 'server-secret');
|
||||
config()->set('services.etsy.redirect_uri', 'https://old.example.test/etsy/callback');
|
||||
$admin = User::factory()->create(['role' => 'admin']);
|
||||
|
||||
$this->actingAs($admin)->put(route('settings.etsy.update'), [
|
||||
'shop_name' => 'HickLab3D',
|
||||
'redirect_uri' => 'https://new.example.test/etsy/callback',
|
||||
])->assertRedirect(route('settings.index'));
|
||||
|
||||
$credentials = EtsyAppCredential::firstOrFail();
|
||||
$this->assertSame('server-key', $credentials->keystring);
|
||||
$this->assertSame('server-secret', $credentials->shared_secret);
|
||||
$this->assertSame('HickLab3D', $credentials->shop_name);
|
||||
$this->assertSame('https://new.example.test/etsy/callback', $credentials->redirect_uri);
|
||||
$this->assertNotSame($credentials->redirect_uri, $credentials->getRawOriginal('redirect_uri'));
|
||||
$this->actingAs($admin)->post(route('etsy.connect'))
|
||||
->assertRedirectContains('https%3A%2F%2Fnew.example.test%2Fetsy%2Fcallback');
|
||||
$this->actingAs($admin)->get(route('settings.index'))
|
||||
->assertOk()->assertDontSee('server-secret');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user