Commit Graph

261 Commits

Author SHA1 Message Date
Damian Mooyman 1993e5d305
API Upgrade to use new AssetStore service name 2017-05-16 14:59:54 +12:00
Sam Minnee 4f3d3fdbab FIX: Soften coupling to SiteTree
The SiteTree link still exists but the module
will work if SiteTree isn’t installed.
2017-05-05 11:26:59 +12:00
Sam Minnee 9b48a30e2b FIX: Don't load suite twice.
If the suite is already loaded, you can't call registerSuiteConfiguration
a second time.
2017-05-05 10:15:22 +12:00
Damian Mooyman 7fd508b9af API @retry behaviour 2017-05-05 09:29:23 +12:00
Ingo Schommer 9230ce2405 API Upgrade to behat 3 2017-05-05 09:29:23 +12:00
Sam Minnee 78c65719da FIX: PSR-2 linting 2017-04-26 16:46:45 +12:00
Damian Mooyman acacac1842 Upgrade testsession references 2017-04-26 16:37:35 +12:00
Damian Mooyman ab2720f237 Update versioned namespace 2017-03-28 10:35:57 +13:00
Damian Mooyman d5c2113c52 Upgrade module loader manifest 2017-03-21 12:41:28 +13:00
Damian Mooyman f0ca8eb84b BUG Ensure safe fallback for missing `.env` file to dev mode. 2017-02-28 11:29:42 +11:00
Damian Mooyman 6024d2bc5d
Move bootstrap file up into correct point in application cycle 2017-02-27 15:56:02 +13:00
Damian Mooyman 9610a0a284
BUG Prevent top-level files being created with incorrect parent folder 2017-02-24 15:07:25 +13:00
Damian Mooyman 9d083e0135
API Add check for text in current alert 2017-01-12 15:12:29 +13:00
Ingo Schommer 4276dd9b96 Merge pull request #142 from open-sausages/pulls/4.0/unname-groups
ENHANCEMENT: Remove redundant named groups from patterns
2017-01-12 13:06:46 +13:00
Damian Mooyman 78872a358b
ENHANCEMENT: Remove redundant named groups from patterns
Unfortunately, named groups breaks all IDE autocompletion in PHPStorm, and the actual parser doesn’t benefit from them. Removing them makes it possible to navigate from gerkin fixtures to method implementations immediately. However, it does make reading the actual regexp a bit harder.
2017-01-12 11:58:33 +13:00
Sam Minnee 9cd74d304c NEW: Refactor TestMailer to extend from the default
This means that Mailer can be refactored and this will still work.

Merge after https://github.com/silverstripe/silverstripe-framework/pull/6483
and before https://github.com/silverstripe/silverstripe-framework/pull/6466
2017-01-12 10:02:01 +13:00
Damian Mooyman eaa17cf18f
Update behat extension for updated button styling 2017-01-10 14:41:19 +13:00
Daniel Hensby 9fc5bf254b
Merge branch '1.0' 2016-12-12 13:53:02 +00:00
William Arslett ad7957587e Corrected variable name in givenTheCurrentTimeIs to address error 2016-12-12 12:12:11 +00:00
Sam Minnee 8c48804b81 FIX: Reply on Core/Core.php being in include path.
This lets us change the location of Core.php as long as we also
manipulate the include path.

This is necessary for https://github.com/silverstripe/silverstripe-framework/pull/6266
2016-11-01 15:09:04 +13:00
Sam Minnee 2dbe57e0cb FIX: Remove PSR2 failures 2016-09-14 12:02:37 +12:00
Sam Minnee 2c4eb2050d NEW: Add bootstrap_file extension parameter.
The bootstrap_file parameter specifies a PHP file that will be included
between Constants.php (which is included by the composer autoloader)
and Core.php (which is included by SilverStripeAwareInitializer).

The goal of this setting is to provide a bit more flexibility about how
behat test environments are set up. It’s the logical companion of
PHPUnit’s bootstrap property.
2016-09-14 12:01:41 +12:00
Damian Mooyman c9783741ca Rename SS_ prefixed classes (#127) 2016-09-09 15:47:11 +12:00
Damian Mooyman 7e50e57766 Fix include paths 2016-09-08 16:32:06 +12:00
Damian Mooyman faca1e6f71
Update for framework namespacing 2016-09-08 10:07:35 +12:00
jeffreyguo 0bd8033cb0 Add new step to click the http link address in email 2016-08-23 13:25:02 +12:00
Damian Mooyman 1eb1004957
Convert to PSR-2 standard
Enforce PHPCS checking
2016-08-10 13:56:30 +12:00
Damian Mooyman 42a383030c Update use of versioned API and respect table_name 2016-08-09 12:39:31 +12:00
Damian Mooyman 869478ac0d
Search for table title with class contains 'title', rather than class == 'title' 2016-08-04 10:55:42 +12:00
Hamish Friedlander c3ed455ec6 FIX iSelectFromInputGroup not understanding bootstraps input-in-label structure 2016-07-28 16:51:33 +12:00
Damian Mooyman 8d6de532df API Apply SilverStripe\Security namespace 2016-06-29 10:31:00 +12:00
Damian Mooyman 26a95a895f Update to support new namespace SilverStripe\ORM 2016-06-27 16:34:00 +12:00
Jeffrey Guo ba103ca8fc add condition to prevent running endTestSession() twice
reformatted with space indent
2016-06-24 13:15:56 +12:00
Ben Manu 12552dc808 FIX: params isn't defined in this context, may be carry over from PHPUnit sessions. Changing context to $state to match other env values. 2016-06-24 13:15:56 +12:00
scott1702 140c31b34f Add ability to confirm/dismiss dialogs after clicking in elements 2016-06-24 13:15:56 +12:00
scott1702 19a7c52b1d Add double click action 2016-06-24 13:15:55 +12:00
Damian Mooyman 43298b9ae2 Merge remote-tracking branch 'origin/1.0'
# Conflicts:
#	composer.json
2016-05-11 16:10:07 +12:00
Damian Mooyman d6016d4b7a API Respect CSRF on login form 2016-04-20 11:48:20 +12:00
Hamish Friedlander 4241f78bbc Fix Fixture bug with new Versioned API changes in 4.x 2016-03-17 17:12:33 +13:00
Ingo Schommer 350392148f Remove Behat-related code dependant on PHPUnit 3.x
We've upgraded SilverStripe core to PHPUnit 4.x now, and the Functions.php has moved locations.
Since all custom contexts either use one of these contexts, or extend off SilverStripeContext,
we can be certain that the required assertions are automatically included for custom contexts,
no need to duplicate the require_once() calls.

Note that Behat 3.x suggests using static methods on a class, e.g. PHPUnit_Framework_Assert::assertSame (see http://docs.behat.org/en/master/quick_intro.html).
This seems quite verbose, and increases the upgrade burden on any project using Behat.
2016-02-24 19:50:47 +13:00
Damian Mooyman 58b1d87c36 BUG Compatibility with 4.0 AssetStore API
- Don't delete Folders (managed by backend)
- Fix deletion to match correct columns
- New assertion for matching files by filename and hash
- Skip createdFilesPath - Managed by backend not by behat anymore
2016-02-24 14:32:22 +13:00
Ingo Schommer 5728f8aabe Fix SS4 AssetStore compat in FixtureContext
Correctly create published files, and delete them via the AssetStore API rather than unlink()
2016-02-24 00:03:54 +13:00
Damian Mooyman ae7b16308e Revert "ENH: adding wrapper around visit to detect 404s" 2016-01-25 17:55:03 +13:00
Ingo Schommer 1062eb2910 Merge pull request #87 from jeffreyguo/pulls/email-plaintext
added step definition to check email contains a plain text
2016-01-08 10:44:22 +13:00
Ingo Schommer efd8f65c33 Merge pull request #91 from jeffreyguo/pulls/email-from-to-titled
Find email by title then check the recipents
2016-01-08 10:43:29 +13:00
Ingo Schommer 676b2a4344 Merge pull request #96 from IgorNadj/patch-detect-404
ENH: adding wrapper around visit to detect 404s
2016-01-08 10:41:15 +13:00
Jeffrey Guo 299cde3c90 add condition to prevent running endTestSession() twice
reformatted with space indent
2015-12-21 10:54:10 +13:00
Ingo Schommer f41bb0fc53 Merge pull request #101 from benmanu/pulls/state-yml-fixture
FIX: params isn't defined in this context
2015-12-09 08:58:41 +13:00
Ben Manu 15f1a083fc FIX: params isn't defined in this context, may be carry over from PHPUnit sessions. Changing context to $state to match other env values. 2015-12-08 11:10:19 +13:00
Ingo Schommer cfd1044ae5 Merge pull request #100 from scott1702/confirming-element-click
Add ability to confirm/dismiss dialogs after clicking in elements
2015-10-22 16:29:44 +13:00
scott1702 33eb0adf0c Add ability to confirm/dismiss dialogs after clicking in elements 2015-10-22 16:27:48 +13:00
scott1702 b2ff3e73ad Add double click action 2015-10-22 16:13:47 +13:00
Ingo Schommer d39c8ebd29 Fix nested folder fixture creation
Fixes regression caused by 8d49da2609
prepareAsset('Folder','some/folder') would create some/folder/folder due to wrong ParentID relations.
Also set the 'ID' of folders to avoid creating them again.
2015-10-22 13:27:09 +13:00
Ingo Schommer 8d49da2609 Fixed Folder::find_or_make() use 2015-10-19 10:55:56 +13:00
Damian Mooyman 15b491ed74 API Update for filesystem refactor 2015-10-16 10:53:37 +13:00
Igor Nadj 8088c29f5a ENH: adding safety try-catch blocks to prevent whole test suite from falling over 2015-09-10 14:32:09 +12:00
Igor Nadj ed391da991 ENH: adding wrapper around visit to detect 404s 2015-09-09 16:59:06 +12:00
Ingo Schommer 661bfe9a89 Comply with moved use_test_manifest() method
Moved from TestRunner to SapphireTest in 4.0.
2015-08-28 16:50:51 +12:00
Igor 2ff6ddeaaa FIX logic error where a variable is used for two purposes
The issue that prompted this change was that at line 361, if an exception needed to be thrown, it would be thrown with $field being a NodeElement rather than a string, causing a Catchable Fatal Error to be thrown in ElementNotFoundException::__construct#46 (can't convert object of type NodeElement to string).
2015-08-24 14:27:56 +12:00
Jeffrey Guo 64c4819e68 make matched email simple 2015-08-06 14:42:02 +12:00
Jeffrey Guo 3b6b525e8c update the params to be array on sending email 2015-07-28 09:14:08 +12:00
Jeffrey Guo 117c1ef662 email contains plain text 2015-07-02 14:12:10 +12:00
Ingo Schommer 88dabf555a Fixed "wait" step, merge regression from df4a859 2015-04-21 15:26:15 +12:00
madmatt 6da19dac18 Fix step when multiple relations exist between the two joined objects 2015-04-21 14:38:58 +12:00
Ingo Schommer 0cdfb2e116 Graceful handling of regions which aren't CSS selectors
The dual use of regions (CSS selector and natural language name)
causes some difficulties in processing. Since the CSS selector
is tried first, we need to ensure the underlying logic
doesn't bail on invald selector syntax.

See https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/84
2015-04-08 08:19:34 +12:00
Ingo Schommer 7db12fc9bb Unit tests 2015-04-07 23:15:22 +12:00
Ingo Schommer 4297e36762 Allow updating of fixtures in creation steps if they already exist 2015-02-15 21:47:22 +13:00
Ingo Schommer 7e8eaae73a Save ParentID alongside first record write to avoid validation errors 2015-02-15 21:47:20 +13:00
Ingo Schommer 4dece01c34 Allow "given ... has data" notation for fixtures
Makes more sense in english when the fixture has already been created beforehand
2015-02-15 21:39:06 +13:00
Damian Mooyman f3c5df7957 Merge pull request #80 from silverstripe-iterators/pulls/password-complexity
More complex password default to comply with custom authenticators
2015-01-12 09:48:58 +13:00
Jeffrey Guo df4a859dbc Scroll to page top/bottom or an element
Amended by @chillu, see https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/74
2015-01-08 00:03:23 +13:00
Ingo Schommer fcdfb04825 More complex password default to comply with custom authenticators
Changed from 'secret' to 'Secret!123'.

For example, the CWP default configuration increases the required
complexity to include uppercase letters, see https://gitlab.cwp.govt.nz/cwp/cwp-core/blob/master/_config.php#L134

This should not impact existing tests since the password is only used
indirectly, through "Given I login with ADMIN permissions".
2015-01-06 14:22:15 +13:00
Ben Manu 13271a8a6d FIX: adding caller class parameter to DataObject get 2015-01-06 10:51:41 +13:00
Jeffrey Guo 9a51b32196 Updated and added new step to check the email contains text
add text to readme for pull request 3635 in framework
2014-11-27 17:58:11 +13:00
Ingo Schommer 752abd4447 Note about publication state on child pages 2014-11-11 15:59:24 +13:00
Sean Harvey 61e7bb44cf Revert "Allow setting create_temp_database to false to stop temp db creation" 2014-10-09 09:55:00 +13:00
Sean Harvey 9c3319a342 Allow setting create_temp_database to false to stop temp db creation
TestSessionEnvironment by default will create a temporary database for
use with behat tests, but this may not be required.

e.g. in your behat.yml:

```
default:
...

  extensions:
    ...
    SilverStripe\BehatExtension\Extension:
      create_temp_database: false
```
2014-10-08 19:59:06 +13:00
Sriram Venkatesh e1d42b89fe Formatting Cleanup 2014-10-01 02:20:40 +13:00
Sriram Venkatesh 6f648a418a Fixes #27: I wait for the text/element 2014-10-01 01:44:30 +13:00
Ingo Schommer 060f45f2cc Merge pull request #73 from jeffreyguo/pulls/cms-modal
Handle modal dialogue which will block all tests in the cms
2014-09-23 22:20:23 +12:00
Jeffrey Guo 54eaa63845 Handle modal dialogue which will block all tests in the cms
updated as an afterScenario event
2014-09-22 17:32:46 +12:00
Ingo Schommer dd2f51fa74 Merge pull request #71 from jeffreyguo/pulls/jserror-2
Fixed issue on removing a DOM attribute
2014-09-09 08:18:09 +12:00
Jeffrey Guo cfbf61f60c wait for DOM to remove attribute
use window.jQuery instead of $
updated to removeAttr method
2014-09-08 16:45:23 +12:00
Ingo Schommer 83a72210cd Merge pull request #69 from jeffreyguo/pulls/assign-object-to-object
Assign one object to another object
2014-09-05 09:48:20 +12:00
Ingo Schommer 6e13a68762 Merge pull request #70 from jeffreyguo/pulls/jserror
wait for DOM to remove attribute
2014-09-05 09:46:24 +12:00
Jeffrey Guo 8ea981519e wait for DOM to remove attribute
use window.jQuery instead of $
2014-09-04 14:10:25 +12:00
Jeffrey Guo 67eca1fcff assign one object to another
corrected name convention and sql issue
corrected grammar in description
2014-09-03 17:00:29 +12:00
Ingo Schommer 16d5a0099b Merge pull request #67 from tractorcow/pulls/refactor-resize
Refactor default screen resize into SilverStripeContext
2014-09-02 08:47:31 +12:00
Ingo Schommer d139eb82e0 Merge pull request #60 from jeffreyguo/pulls/text-before-after
check a text is before or after another text
2014-08-22 09:04:47 +12:00
Jeffrey Guo 9ba5043871 check a text is before or after another text
added comments for each step
check a text is before or after another text in an element
2014-08-21 18:22:22 +12:00
Damian Mooyman c0801a63ef Refactor default screen resize into SilverStripeContext 2014-08-14 16:21:31 +12:00
Damian Mooyman 01b129de35 Ensure that the window is maximised prior to running each step 2014-08-11 17:58:02 +12:00
Damian Mooyman bc3b0b4cd5 API Support extended JS error reporting 2014-08-08 16:50:10 +12:00
Fred Condo 81f292a2b5 Make SiteTree reference conditional
This makes the boilerplate code compatible for testing
framework-only sites.
2014-07-16 17:01:45 -07:00
Ingo Schommer 8956b2d4fa More resilient login form detection (works with absolute URLs and GET params) 2014-07-01 19:13:32 +12:00
Damian Mooyman 042989e270 BUG Fix js change event not triggering 2014-06-26 09:22:18 +12:00
Sean Harvey 223bb9ec22 Fixing call to protected method elementNotFound.
elementNotFound() is protected, it can't be called from outside.
Throw an ElementNotFoundException instead.
2014-06-25 13:47:35 +12:00
Ingo Schommer 3fe596be63 Fix quoting in getRegionObj()
Based on work by @jeffreyguo.
See https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/53/commits
2014-06-18 12:58:37 +12:00
Sean Harvey 2dbd92b16b Merge pull request #51 from silverstripe-labs/pulls/table
Step definitions for table interactions
2014-06-17 13:43:29 +12:00
Ingo Schommer 74116566f3 Merge pull request #47 from silverstripe-labs/develop
Update to mink 1.6 and remove custom fork
2014-06-13 15:37:05 +12:00