Commit Graph

42 Commits

Author SHA1 Message Date
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
ae7b16308e Revert "ENH: adding wrapper around visit to detect 404s" 2016-01-25 17:55:03 +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
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
Igor Nadj
ed391da991 ENH: adding wrapper around visit to detect 404s 2015-09-09 16:59:06 +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
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
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
Damian Mooyman
c0801a63ef Refactor default screen resize into SilverStripeContext 2014-08-14 16:21:31 +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
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
Jeffrey Guo
27a381f4e0 handle single quote with build-in way in getRegionObj 2014-06-12 14:51:01 +12:00
Damian Mooyman
0050149bfa Update to mink 1.6 and remove custom fork
Add javascript-workaround for selecting hidden elements
2014-05-30 16:27:47 +12:00
Ingo Schommer
3b8518e4ab NEW Set current date and time through Behat 2014-04-16 11:14:42 +12:00
Ingo Schommer
2ec760cb1d Improved region support, added "see text in region" step 2014-04-09 10:31:41 +12:00
Sriram Venkatesh
2acd0889d4 Find Link in Region 2014-03-19 17:09:43 +13:00
Ingo Schommer
41cdc87eae Import DB and fixtures as a separate step
Usually triggered by manual test session environment runs
2014-03-19 08:42:23 +13:00
Ingo Schommer
d003707894 BEHAT_SCREEN_SIZE env var 2014-02-25 11:33:12 +13:00
Ingo Schommer
7f3cc3b6b9 Using CLI to start test session rather than browser
Now possible because we don't rely on browser session state
to link up state to CLI (recent changes in testsession module).
2014-02-24 22:54:12 +13:00
Sriram Venkatesh
26f47d9d58 General Coding Convention Changes 2014-01-27 10:50:20 +13:00
Sriram Venkatesh
f5957a0586 Click first visable link 2014-01-27 10:42:14 +13:00
Ingo Schommer
22330d02cb Env var support, documented xdebug usage 2013-12-18 14:58:44 +01:00
Ingo Schommer
d4006b9735 Allow augmentation of test session state
Useful e.g. to add a 'stubfile' path in a custom feature context.
2013-11-27 19:32:14 +01:00
Ingo Schommer
69589bf316 Behat: Remove "start session" log
Need to find a better way to log this, which is not interfering
with the main formatter output
2013-09-14 19:36:12 +02:00
Ingo Schommer
a0ac37fa1e More useful fillField() implementation
Was defaulting to the first non-visible
2013-09-14 19:27:19 +02:00
Ingo Schommer
2e3d97cbc4 More verbose startsession 2013-08-13 13:04:49 +02:00
Sam Minnee
790d086def FIX: Perform error checking on testsession/start.
This fix improves the robustness of the behat tests, ensuring that the testsession has actually
been successfully started before the test kicks off. Although it doesn't fix anything that
wasn't previously broken, it makes environment set-up errors a bit easier to figure out.

It looks for a new status comment in the result of testsession, that is also being added to the
module.
2013-06-07 11:19:42 +12:00
Ingo Schommer
8418bea0f8 Step transformations rather than special case step overrides 2013-06-05 13:34:45 +02:00
Ingo Schommer
fd9e84006f Use FixtureFactory for YAML, move helpers to FixtureContext, consistently create assets 2013-06-05 13:34:45 +02:00
Ingo Schommer
72141f4474 3.1 compat 2013-04-09 01:58:34 +02:00
Ingo Schommer
6c9be905f9 NEW Email testing 2012-12-19 15:56:20 +01:00
Ingo Schommer
95b9408c86 Using new and more flexible 'testsession' module instead of dev/tests/setdb 2012-12-19 15:55:54 +01:00
Ingo Schommer
135ae89617 Removed reconnect to DB on fixture defaults, it breaks state
Specifically, it resets to the standard database config,
rather than the session/cookie state for the temporary database.
2012-12-06 17:40:04 +01:00
Ingo Schommer
74e0d8cd83 Fixed coding conventions (no functional changes)
Both Symfony and SilverStripe conventions mandate
lower camel case for instance properties
2012-11-18 11:51:00 +01:00
Ingo Schommer
046350fcce Suppress DB default record output in behat runs 2012-11-15 16:08:47 +01:00
Ingo Schommer
38a27d2a50 NEW Reduced boilerplate configuration
- Moved all extension-specific conf into its own configuration namespace
- Described configuration via PHP, and added default values
- Removed boilerplate config from README
- Made screenshot_path optional
- Configurable ajax_timeout settings

Note: The DI system plus the initializer+context combo requires insane amounts of code duplication,
will need to be looked at more closely (very little docs on that level of Behat extension available).
2012-11-14 00:29:40 +01:00
Ingo Schommer
3ac7e83dae ENHANCEMENT Migrated generic contexts from temporary 'behat-tests' module
The CMS specific context classes will move to framework
2012-11-09 17:34:24 +01:00