Commit Graph

283 Commits

Author SHA1 Message Date
Maxime Rainville
6df2a983e3
BUG Avoid trying to get singletons fon non-existan classes (#192)
BUG Avoid trying to get singletons for non-existant classes
2020-04-29 09:54:45 +12:00
Serge Latyntcev
e218fb85df FIX WebDriverSession autostart
Mink does not autostart web driver session anymore until the first ->visit invocation

Here's the breaking change: acf5fb1ec7

SilverStripeContext assumes the session is started when it prepares for the scenario (e.g. it may change the resolution)
2020-03-17 15:44:39 +13:00
Maxime Rainville
a594f44188 Rename click-oneoof-these-buttons method 2019-09-24 15:29:11 +12:00
Maxime Rainville
f94ff57604 BUG Add a method that allow multiple button to be search for and press 2019-09-24 13:58:15 +12:00
Robbie Averill
6ffbd879dc Update typo in docblock 2019-03-22 10:00:05 +13:00
Serge Latyntcev
52573518bd ADD / After each step we wait for the server to handle all requests 2018-12-20 09:37:13 +13:00
Guy Marriott
e892ef4829
NEW Allows scenarios to anticipate an unsaved changes modal 2018-10-15 11:26:34 +13:00
Guy Marriott
b8d658114b
FIX Add missing "?" 2018-08-28 16:13:19 +12:00
Guy Marriott
2cbcab20c1
NEW Adding abilility to add an extension in a step 2018-08-21 14:47:44 +12:00
Damian Mooyman
5fdab55ebf API Update to use new facebook driver extension 2018-01-19 17:05:31 +13:00
Christopher Joe
1d3da4cd2f Feature use existing fixture for member with the given id if found, rather than always creating a new 2017-10-30 16:35:49 +13:00
Damian Mooyman
4657c39e24
Update to use new Environment::getenv() 2017-10-24 16:08:16 +13:00
Damian Mooyman
15c770b642 Move stepHasTag to trait (#169)
* Move stepHasTag to trait

* Fix tests
2017-08-02 11:48:53 +12:00
Damian Mooyman
cf49da1926 API Update usage of session bootstrapping 2017-06-27 12:09:20 +12:00
Ingo Schommer
704300f873 Merge pull request #163 from open-sausages/pulls/4.0/app-object
Updated behat-extension to use app object
2017-06-22 23:01:51 +12:00
Loz Calver
987a029b51 Update logout step to use new logout form 2017-06-21 14:57:12 +01:00
Loz Calver
684608a241 Add logout form step 2017-06-21 11:52:07 +01:00
Damian Mooyman
f768c952dc Updated behat-extension to use app object 2017-06-21 18:17:18 +12:00
Damian Mooyman
ab3f6c0057
API Update to new checkPassword API 2017-06-15 15:43:44 +12:00
Damian Mooyman
54efc6f6bd
BUG Prevent behat from always running root behat.yml fixtures 2017-06-15 14:39:38 +12:00
Simon Erkelens
e40f0ee764 Update the login method to use findById and rename of the LoginForm to MemberLoginForm 2017-06-04 13:22:49 +12:00
Robbie Averill
8167d14b09 API Consistent use of inst() naming across framework 2017-05-22 11:05:56 +12:00
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