Commit Graph

257 Commits

Author SHA1 Message Date
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
Ingo Schommer
ff86bde036 Step definitions for table interactions
Moved from framework module which had GridField specific steps under the same naming.
Made them more versatile, working for both GridField and other <table> nodes.
2014-06-13 15:05:32 +12:00
Jeffrey Guo
27a381f4e0 handle single quote with build-in way in getRegionObj 2014-06-12 14:51:01 +12:00
Ingo Schommer
1af1620fb4 Merge pull request #36 from jeffreyguo/pulls/find-email-by-title
add new step definition to identify multiple emails by from to and title
2014-06-04 13:26:48 +12:00
Ingo Schommer
0694d4e3a3 Merge pull request #39 from srizzling/pulls/fill-in-field-region
Adding support to fill in field in a specfic region
2014-06-04 13:24:50 +12:00