The previous theme test relied on the existence of the tutorial theme, which has been removed.
I'ved added a couple of behat rules for scaffolding fake themes, and altered the test to use these.
With additional modules like Translatable, this test fails because
a 301 is issued to redirect the admin/pages/SearchForm request to the
correct URL containining a locale in the query string.
Relies on changes from silverstripe-behat-extension:
silverstripe-behat-extension/pull/15
silverstripe-behat-extension/pull/14
silverstripe-behat-extension/pull/13
silverstripe-behat-extension/pull/12
Previously by setting the response status code inside the action, this prevented response bodies from being included due to 403/401 being matched by SS_HTTPResponse::isFinished() (which stops popular
I assume SS_HTTPResponse::isFinished() is valid for the permission error use case (and I would be hesitant to change it) so this simply moves the declaration of the response status code till after the parent has populated the body of the response.
The problem is FulltextSearchable::enable() does two things:
It enables the extension, as well as sets the MySQL create table option
to MyISAM. Later tests run with the extension enabled, because it doesn't
get removed at the end of the test, but the table type is set back to
InnoDB when the test is reset and schema recreated.
This produces side-effects where later tests in a suite tries to run
ALTER TABLE on File and add fulltext indexes when the table type
is set to InnoDB, causing an error.
Wrapping in a step to capture cases where the ErrorPage defaults
haven't been generated, and the default ModelAsController
message shows which is slightly different wording.
SiteTree versions that arent the live version shouldnt be accessed by
regular users, but the logic to check that was split off into canViewStage,
which wasnt checked by code that isnt specifically SiteTree aware
(like RestfulServer)
It doesn't add much value in terms of testing
(can't see how we'd ever mess up the "Help" menu entry),
and it relies on the availability of an external resource
(userhelp.ss.org), making the tests more brittle.
It also breaks the feature following this one, because
somehow Behat doesn't reset the browser session, so
subsequent logins fail because a login still exists.