Commit Graph

68 Commits

Author SHA1 Message Date
madmatt
d61760ddc6 Update SilverStripeAwareInitializer to use new TestSessionEnvironment class.
This change is designed to be merged in at the same time as the matching
testsession PR (silverstripe-labs/silverstripe-testsession#7) is merged in, as
it relies on changes introduced in that PR to function.

This updates the behat-extension to use the new file-based capabilities of the
testsession module. Instead of creating a temp database, it will create an
entire testsession in the initializer, and then continue on as per normal. When
Behat runs end, the cleanup code will completely remove the testsession state,
instead of just removing the temp database. This may mean in the future that
you can hook into the TestSessionEnvironment via extensions, and connect to
other test services during a testsession, then cleanup after yourself on ending
a test session.

API CHANGES:
- Remove SilverStripeAwareInitializer::initializeTempDb()
- Remove SilverStripeAwareInitializer::deleteTempDb()
2014-02-05 11:57:46 +13:00
Matt
fe77d1dacb In stepCreateRecordWithTable, if a fixture already exists then update that record
rather than create a new, identical fixture.
2014-01-31 10:01:31 +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
58a9d59e7f More flexible EmailContext 2013-12-13 17:52:42 +01:00
Ingo Schommer
d79acc457a Fixed Behat scope for "I log in as"
Fixes an issues where multiple "Email" form fields are present
on a page, e.g. through a global login overlay in the header.
2013-12-10 23:28:47 +01:00
Sean Harvey
8141ced2fd BUG Fixing logout issues with steps
stepIAmNotLoggedIn() would previously just kill the test
session, but this has the side effect of losing the current testsession
temporary database, so this causes steps of logging out to fail the
rest of the steps in a scenario.

See https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/12
2013-11-29 00:49:36 +01:00
Ingo Schommer
0a9505e8b2 Merge pull request #15 from halkyon/select_radio
Adding definition for selecting an input by the group's label.
2013-11-28 15:24:43 -08:00
Ingo Schommer
aa31606dde Merge pull request #14 from halkyon/message_rework
stepIWillSeeALogInMessage now allows for other form message types.
2013-11-28 15:23:50 -08:00
Sean Harvey
084980ea27 Adding definition for selecting an input by the group's label.
Allows for a step like: `I select "Admins" from "Groups" input group`

Adding it to BasicContext as it seems useful to be used in
other places, not just the CMS admin interface. It could be used
frontend forms that use CheckboxSetField, or OptionsetField,
for example.

Thanks to @srizzling for writing the definition for this step!
2013-11-28 23:18:59 +13:00
Sean Harvey
8da0dbaea5 stepIWillSeeALogInMessage now allows for other form message types.
Not just "bad", but others like "good", "required", and "warning".
2013-11-28 22:54:00 +13:00
Sean Harvey
c53a01c652 Don't create a group in iAmLoggedInWithPermissions if already exists. 2013-11-28 22:30:45 +13: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
fc6d1ac12b Fixed Behat+SS coding conventions 2013-11-15 17:38:37 +01:00
Sriram Venkatesh
1166991d49 New step: "record last edited at relative date"
Thanks to @srizzling for getting this started in
https://github.com/silverstripe/silverstripe-cms/pull/896
2013-11-15 14:09:24 +01:00
Ingo Schommer
1c950f07de Relative date/time format support
Thanks to @srizzling for getting this started in
https://github.com/silverstripe/silverstripe-cms/pull/896
2013-11-15 14:05:28 +01:00
Ingo Schommer
7d48da31d4 Merge pull request #10 from srizzling/is620
Added delete state to step defination
2013-11-15 02:32:13 -08:00
Ingo Schommer
e7e5912f07 FIX: need to upper-case each word, not just first word
Thanks to @jthomerson
See https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/5
2013-11-15 11:30:10 +01:00
Sriram Venkatesh
aea5357c23 Fixed up some formatting issues 2013-11-15 16:57:15 +13:00
Sriram Venkatesh
6b7f5f8d3c Added delete state to step defination 2013-11-15 16:15:37 +13:00
Ingo Schommer
3f13791404 Only delete files/folders if they exist on filesystem
This broke "add a folder" in manage-files.feature
2013-11-06 01:22:30 +01:00
Ingo Schommer
7e37cc8e00 New "there should be a file" step 2013-10-23 21:27:54 +02:00
Ingo Schommer
32c7cea104 Clean up files from assets/ after each scenario 2013-10-23 21:27:52 +02:00
Ingo Schommer
9b34e635d8 New "password should be" step 2013-10-22 10:53:29 +02:00
Ingo Schommer
4aef64a789 Fixed email link step quoting and selection 2013-10-22 00:04:25 +02:00
Ingo Schommer
a284e3183d New "password should be" step 2013-10-22 00:04:25 +02:00
Ingo Schommer
a244986495 "go to <named record>" behat step definition 2013-10-21 13:19:46 +02:00
Ingo Schommer
5ca904ae12 Initializer and custom namespace support 2013-10-18 17:47:33 +02:00
Ingo Schommer
7bb06f0fea Fixed screenshot_path usage
Was referencing outdated $this->context settings
instead of parent context. Still a bit hacky to make
assumptions on parent context, but its difficult to pass
through arguments to subcontexts.
2013-10-09 14:29:42 +02:00
Ingo Schommer
89a72625d4 BasicContext->stepPageCantBeFound 2013-10-02 17:10:13 +02: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
f89879836a Step def for "record has the <field> <value>" 2013-09-14 19:20:58 +02:00
Ingo Schommer
f18a54afbe stepIPressTheButtonConfirmingTheDialog 2013-08-16 13:32:13 +02:00
Ingo Schommer
2e3d97cbc4 More verbose startsession 2013-08-13 13:04:49 +02:00
Ingo Schommer
6f9352cac4 Use stdout instead of stderror for notices 2013-08-13 13:03:29 +02:00
Ingo Schommer
d734586346 Merge remote-tracking branch 'origin/0.1' 2013-07-11 16:02:15 +02:00
Ingo Schommer
0e0c601a4a FixtureContext 5.3.8 compat (wrong usage of is_a()) 2013-07-11 16:00:19 +02:00
Ingo Schommer
3928919964 Using 3.1 compatible Config API for setup
Avoids deprecation notices when testing against master
2013-06-19 12:24:11 +02:00
Ingo Schommer
5e879a88b8 Only match visible buttons in "I press button" step 2013-06-07 16:26:12 +02:00
Ingo Schommer
71245ababd Behat: More informative error on login form not found
"setValue() on a non-object" wasn't very helpful
2013-06-07 16:26:12 +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
aab86a6b08 More verbose fixture step definitions
Too many clashes with other steps otherwise,
e.g. with 'And the preview contains "You can fill"'
2013-06-05 14:17:28 +02:00
Ingo Schommer
55c7f578fd Documentation 2013-06-05 13:34:45 +02:00
Ingo Schommer
1eed512b7d Member and Group fixture support 2013-06-05 13:34:45 +02:00
Ingo Schommer
460ce55d22 Delay UI interactions after ajax to allow browser rendering
merge
2013-06-05 13:34:45 +02: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
30ece1347f NEW FixtureContext (#2) 2013-06-05 13:34:42 +02:00