Developer-Dashboard
view release on metacpan or search on metacpan
integration/browser/run-bookmark-browser-smoke.pl view on Meta::CPAN
=head1 NAME
run-bookmark-browser-smoke.pl - fast browser-backed smoke runner for saved bookmark files
=head1 SYNOPSIS
integration/browser/run-bookmark-browser-smoke.pl
integration/browser/run-bookmark-browser-smoke.pl \
--bookmark-file ~/.developer-dashboard/dashboards/test \
--expect-page-fragment "set_chain_value(foo,'bar','/ajax/foobar?type=text')" \
--expect-ajax-path /ajax/foobar?type=text \
--expect-ajax-body 123 \
--expect-dom-fragment '<span class="display">123</span>'
=head1 DESCRIPTION
This host-side smoke runner creates an isolated temporary dashboard runtime,
starts the checkout-local web app, loads one saved bookmark page through a real
headless browser, and verifies optional page, ajax, and final DOM fragments.
With no C<--bookmark-file>, it runs the built-in legacy jQuery/Ajax bookmark
sample that checks the exact C<foo.bar> binding flow used by the bookmark
regressions fixed in the 1.06 and 1.07 releases.
=for comment FULL-POD-DOC START
=head1 PURPOSE
This integration script drives saved pages, bookmark rendering, and page-routing behavior in an environment that is closer to a real install than the unit tests. Read it when you need the exact orchestration steps, external tools, and explicit assert...
=head1 WHY IT EXISTS
It exists because saved pages, bookmark rendering, and page-routing behavior cannot be trusted from isolated unit coverage alone. The repository needs one place that shows how the bigger environment is created and what success looks like there.
=head1 WHEN TO USE
Use this file when validating saved pages, bookmark rendering, and page-routing behavior, when the blank-environment or browser-smoke docs change, or when a release verification step fails outside the unit-test layer.
=head1 HOW TO USE
Run it directly from the repository root in the environment it expects, read the emitted paths and logs on failure, and prefer the documented wrapper path when one exists so the integration environment stays reproducible.
=head1 WHAT USES IT
Release verification, integration checklists, and contributors diagnosing environment-specific failures use this file.
=head1 EXAMPLES
Example 1:
perl integration/browser/run-bookmark-browser-smoke.pl --keep-temp
Keep the temporary project, home, and browser profile directories around for debugging after a failure.
Example 2:
perl integration/browser/run-bookmark-browser-smoke.pl --bookmark-file /tmp/sample.page --expect-ajax-path '/ajax/test?type=text' --expect-ajax-body 'ok'
Exercise one saved Ajax endpoint as part of the bookmark smoke.
Example 3:
perl integration/browser/run-bookmark-browser-smoke.pl --bookmark-file /tmp/sample.page --expect-page-fragment 'Hello' --expect-dom-fragment 'Hello'
Point the smoke runner at one explicit bookmark file and assert both raw page and browser DOM output.
Example 4:
perl integration/browser/run-bookmark-browser-smoke.pl
Run this integration helper directly from the repository root.
=for comment FULL-POD-DOC END
=cut
( run in 0.488 second using v1.01-cache-2.11-cpan-524268b4103 )