namespace Tests\Actions;
-use BookStack\Actions\ActivityType;
-use BookStack\Actions\Webhook;
+use BookStack\Activity\ActivityType;
+use BookStack\Activity\Models\Webhook;
use Tests\TestCase;
class WebhookManagementTest extends TestCase
$resp = $this->asAdmin()->get('/settings/webhooks');
$resp->assertOk();
- $resp->assertElementContains('a[href$="/settings/webhooks/create"]', 'Create New Webhook');
- $resp->assertElementExists('a[href="' . $webhook->getUrl() . '"]', $webhook->name);
+ $this->withHtml($resp)->assertElementContains('a[href$="/settings/webhooks/create"]', 'Create New Webhook');
+ $this->withHtml($resp)->assertElementContains('a[href="' . $webhook->getUrl() . '"]', $webhook->name);
$resp->assertSee($webhook->endpoint);
$resp->assertSee('All system events');
$resp->assertSee('Active');
$resp = $this->asAdmin()->get('/settings/webhooks/create');
$resp->assertOk();
$resp->assertSee('Create New Webhook');
- $resp->assertElementContains('form[action$="/settings/webhooks/create"] button', 'Save Webhook');
+ $this->withHtml($resp)->assertElementContains('form[action$="/settings/webhooks/create"] button', 'Save Webhook');
}
public function test_store()
$resp = $this->asAdmin()->get('/settings/webhooks/' . $webhook->id);
$resp->assertOk();
$resp->assertSee('Edit Webhook');
- $resp->assertElementContains('form[action="' . $webhook->getUrl() . '"] button', 'Save Webhook');
- $resp->assertElementContains('a[href="' . $webhook->getUrl('/delete') . '"]', 'Delete Webhook');
- $resp->assertElementExists('input[type="checkbox"][value="all"][name="events[]"]');
+ $this->withHtml($resp)->assertElementContains('form[action="' . $webhook->getUrl() . '"] button', 'Save Webhook');
+ $this->withHtml($resp)->assertElementContains('a[href="' . $webhook->getUrl('/delete') . '"]', 'Delete Webhook');
+ $this->withHtml($resp)->assertElementExists('input[type="checkbox"][value="all"][name="events[]"]');
}
public function test_update()
'endpoint' => 'https://example.com/updated-webhook',
'events' => [ActivityType::PAGE_CREATE, ActivityType::PAGE_UPDATE],
'active' => 'true',
- 'timeout' => 5
+ 'timeout' => 5,
]);
$resp->assertRedirect('/settings/webhooks');
$resp->assertOk();
$resp->assertSee('Delete Webhook');
$resp->assertSee('This will fully delete this webhook, with the name \'Webhook to delete\', from the system.');
- $resp->assertElementContains('form[action$="/settings/webhooks/' . $webhook->id . '"]', 'Delete');
+ $this->withHtml($resp)->assertElementContains('form[action$="/settings/webhooks/' . $webhook->id . '"]', 'Delete');
}
public function test_destroy()
public function test_settings_manage_permission_required_for_webhook_routes()
{
- $editor = $this->getEditor();
+ $editor = $this->users->editor();
$this->actingAs($editor);
$routes = [
$this->assertPermissionError($resp);
}
- $this->giveUserPermissions($editor, ['settings-manage']);
+ $this->permissions->grantUserRolePermissions($editor, ['settings-manage']);
foreach ($routes as [$method, $endpoint]) {
$resp = $this->call($method, $endpoint);