Created
August 28, 2012 16:47
-
-
Save aaronrussell/3500393 to your computer and use it in GitHub Desktop.
rake cucumber
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Using the default profile... | |
Feature: Password reset | |
In order to sign in even if I forgot my password | |
As a user | |
I want to reset my password | |
Background: # features/clearance/visitor_resets_password.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/clearance/visitor_resets_password.feature:8:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
Scenario: User is not signed up # features/clearance/visitor_resets_password.feature:11 | |
Given no user exists with an email of "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:21 | |
When I request password reset link to be sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:102 | |
Then I should see "Unknown email" # features/step_definitions/web_steps.rb:107 | |
Scenario: User is signed up and requests password reset # features/clearance/visitor_resets_password.feature:16 | |
Given I signed up with "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I request password reset link to be sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:102 | |
Then I should see "instructions for changing your password" # features/step_definitions/web_steps.rb:107 | |
And a password reset message should be sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:59 | |
Scenario: User tries to reset his password with a blank password # features/clearance/visitor_resets_password.feature:22 | |
Given I signed up with "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
And I go to the password reset request page # features/step_definitions/web_steps.rb:23 | |
Then I should see an email field # features/step_definitions/clearance/clearance_steps.rb:11 | |
And I fill in "Email address" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I press "Reset password" # features/step_definitions/web_steps.rb:27 | |
When I follow the password reset link sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:71 | |
And I update my password with "" # features/step_definitions/clearance/clearance_steps.rb:108 | |
Then I should see "Password can't be blank." # features/step_definitions/web_steps.rb:107 | |
And I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Scenario: User is signed up and updates his password # features/clearance/visitor_resets_password.feature:33 | |
Given I signed up with "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
And I go to the password reset request page # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email address" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I press "Reset password" # features/step_definitions/web_steps.rb:27 | |
When I follow the password reset link sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:71 | |
And I update my password with "newpassword" # features/step_definitions/clearance/clearance_steps.rb:108 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
When I sign out # features/step_definitions/clearance/clearance_steps.rb:95 | |
Then I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "newpassword" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
Scenario: User who was created before Clearance was installed creates password for first time # features/clearance/visitor_resets_password.feature:49 | |
Given a user "email@example.com" exists without a salt, remember token, or password # features/step_definitions/clearance/clearance_steps.rb:29 | |
When I go to the password reset request page # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email address" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I press "Reset password" # features/step_definitions/web_steps.rb:27 | |
When I follow the password reset link sent to "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:71 | |
And I update my password with "newpassword" # features/step_definitions/clearance/clearance_steps.rb:108 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
Scenario: Reset password via API # features/clearance/visitor_resets_password.feature:58 | |
Given I signed up with "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
And I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
When I send a POST request to "/passwords.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<password><email>email@example.com</email></password> | |
""" | |
Then I should see "email@example.com" # features/step_definitions/web_steps.rb:107 | |
And the response status is 200 # features/step_definitions/web_steps.rb:221 | |
Scenario: Reset password via API with invalid email # features/clearance/visitor_resets_password.feature:68 | |
And I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
When I send a POST request to "/passwords.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<password><email>example.com</email></password> | |
""" | |
Then I should see "Email has a problem. Please check." # features/step_definitions/web_steps.rb:107 | |
And the response status is 422 # features/step_definitions/web_steps.rb:221 | |
Feature: Sign in | |
In order to get access to protected sections of the site | |
As a visitor | |
I want to sign in | |
Background: # features/clearance/visitor_signs_in.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/clearance/visitor_signs_in.feature:8:in `Given all emails are set up' | |
Scenario: Visitor is not signed up # features/clearance/visitor_signs_in.feature:10 | |
Given no user exists with an email of "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:21 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I sign in as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:84 | |
Then I should see "Bad email or password" # features/step_definitions/web_steps.rb:107 | |
And I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Scenario: Visitor enters wrong password # features/clearance/visitor_signs_in.feature:17 | |
Given I am signed up as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "badpassword" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password" # features/step_definitions/web_steps.rb:107 | |
And I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Scenario: Visitor signs in successfully # features/clearance/visitor_signs_in.feature:26 | |
Given I am signed up as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
Then I should see an email field # features/step_definitions/clearance/clearance_steps.rb:11 | |
And I sign in as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:84 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
Scenario: Visitor signs in successfully with uppercase email # features/clearance/visitor_signs_in.feature:33 | |
Given I am signed up as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I sign in as "Email@example.com" # features/step_definitions/clearance/clearance_steps.rb:84 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
Scenario: Locking out # features/clearance/visitor_signs_in.feature:39 | |
Given I am signed up as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "emaIl@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "Blah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then the response status is 401 # features/step_definitions/web_steps.rb:221 | |
Then user "email@example.com" has 1 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "Blaah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 2 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "basdjbaskdbaah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 3 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "basdjbbaah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 4 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "basdbaah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 5 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "bbaah" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 6 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "bh" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password." # features/step_definitions/web_steps.rb:107 | |
Then user "email@example.com" has 7 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And the response status is 401 # features/step_definitions/web_steps.rb:221 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then user "email@example.com" has 7 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
Then I should see "Account has been locked. Please try again later." # features/step_definitions/web_steps.rb:107 | |
And the response status is 403 # features/step_definitions/web_steps.rb:221 | |
When I run reset_user_attempted_logins on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
Then user "email@example.com" has 0 failed login attempts # features/step_definitions/clearance/clearance_steps.rb:119 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
Scenario: Sessions.xml should return UserAccount & UserDetails # features/clearance/visitor_signs_in.feature:91 | |
Given I am signed in as "john@aimpforms.com" # features/step_definitions/clearance/clearance_steps.rb:47 | |
When I send a GET request to "/sessions.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
And I should see "John" within "session user-account user-detail first-name" # features/step_definitions/web_steps.rb:107 | |
And I should see "Friend" within "session user-account user-detail last-name" # features/step_definitions/web_steps.rb:107 | |
Feature: Sign out | |
In order to protect my account from unauthorized access | |
As a signed in user | |
I want to sign out | |
Background: # features/clearance/visitor_signs_out.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/clearance/visitor_signs_out.feature:8:in `Given all emails are set up' | |
Scenario: User signs out # features/clearance/visitor_signs_out.feature:10 | |
Given I am signed up as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:25 | |
When I sign in as "email@example.com" # features/step_definitions/clearance/clearance_steps.rb:84 | |
Then I should be signed in # features/step_definitions/clearance/clearance_steps.rb:37 | |
And I sign out # features/step_definitions/clearance/clearance_steps.rb:95 | |
Then I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Feature: Sign up | |
In order to access protected sections of the site | |
As a visitor | |
I want to sign up | |
Background: # features/clearance/visitor_signs_up.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/clearance/visitor_signs_up.feature:7:in `Given all emails are set up' | |
Scenario: Visitor signs up with invalid email # features/clearance/visitor_signs_up.feature:9 | |
When I go to the sign up page # features/step_definitions/web_steps.rb:23 | |
When I fill in "First name" with "John" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last name" with "Friend" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email" with "invalidemail" # features/step_definitions/web_steps.rb:39 | |
And I choose "email_permission_true" # features/step_definitions/web_steps.rb:88 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Repeat password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I check "user_accept_privacy" # features/step_definitions/web_steps.rb:76 | |
And I press "Sign up" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Must be a valid email address" # features/step_definitions/web_steps.rb:107 | |
Scenario: Visitor signs up with blank password # features/clearance/visitor_signs_up.feature:21 | |
When I go to the sign up page # features/step_definitions/web_steps.rb:23 | |
When I fill in "First name" with "John" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last name" with "Friend" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I choose "email_permission_true" # features/step_definitions/web_steps.rb:88 | |
And I fill in "Password" with "" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Repeat password" with "" # features/step_definitions/web_steps.rb:39 | |
And I check "user_accept_privacy" # features/step_definitions/web_steps.rb:76 | |
And I press "Sign up" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Password can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Visitor signs up with valid data with no consolidate contacts in the database # features/clearance/visitor_signs_up.feature:33 | |
When I go to the sign up page # features/step_definitions/web_steps.rb:23 | |
Then I should see an email field # features/step_definitions/clearance/clearance_steps.rb:11 | |
Given I should have 0 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
When I fill in "First name" with "John" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last name" with "Friend" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I choose "email_permission_true" # features/step_definitions/web_steps.rb:88 | |
When I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Repeat password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I check "user_accept_privacy" # features/step_definitions/web_steps.rb:76 | |
And I press "Sign up" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Visitor signs up with valid data with a consolidate contact already in the database # features/clearance/visitor_signs_up.feature:51 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
And all countries are set up # features/step_definitions/email_steps.rb:13 | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
| 208058 | | |
And the following app: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | device_id | | |
| 888999 | 299342927 | 208057 | | |
| 889000 | 333210438 | 208057 | | |
| 889001 | 333210438 | 208058 | | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>email@example.com</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Given I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the sign up page # features/step_definitions/web_steps.rb:23 | |
When I fill in "First name" with "John" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last name" with "Friend" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I choose "email_permission_true" # features/step_definitions/web_steps.rb:88 | |
When I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Repeat password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I check "user_accept_privacy" # features/step_definitions/web_steps.rb:76 | |
And I press "Sign up" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Visitor signs up with valid data with a consolidate contact already in the database and not accept # features/clearance/visitor_signs_up.feature:88 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
And all countries are set up # features/step_definitions/email_steps.rb:13 | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
| 208058 | | |
And the following app: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | device_id | | |
| 888999 | 299342927 | 208057 | | |
| 889000 | 333210438 | 208057 | | |
| 889001 | 333210438 | 208058 | | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>email@example.com</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Given I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the sign up page # features/step_definitions/web_steps.rb:23 | |
When I fill in "First name" with "John" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last name" with "Friend" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I choose "email_permission_true" # features/step_definitions/web_steps.rb:88 | |
When I fill in "Email" with "email@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I uncheck "user_accept_privacy" # features/step_definitions/web_steps.rb:82 | |
And I press "Sign up" # features/step_definitions/web_steps.rb:27 | |
Then I should not see "You are logged in as John" # features/step_definitions/web_steps.rb:128 | |
Then I should have 0 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Check the record on database | |
Check existing record on database before doing something | |
Scenario: Check aimp_contact record # features/client_features/check_the_record_on_database.feature:4 | |
Given the following aimp_contact: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"aimp_contacts"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:5:in `Given the following aimp_contact:' | |
When I send a GET request to "/aimp_contacts/is_on_database.xml?my_id=10000&created_at=2010-04-13%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then the aimp_contact record returned # features/step_definitions/record_steps.rb:11 | |
Scenario: Check aimp_contact record (nil) # features/client_features/check_the_record_on_database.feature:11 | |
Given the following aimp_contact: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"aimp_contacts"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:12:in `Given the following aimp_contact:' | |
When I send a GET request to "/aimp_contacts/is_on_database.xml?my_id=10000&created_at=2010-04-12%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then return nil xml of aimp_contact # features/step_definitions/record_steps.rb:15 | |
Scenario: Check app record # features/client_features/check_the_record_on_database.feature:18 | |
Given the following app: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"apps"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:19:in `Given the following app:' | |
When I send a GET request to "/apps/is_on_database.xml?my_id=10000&created_at=2010-04-13%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then the app record returned # features/step_definitions/record_steps.rb:11 | |
Scenario: Check app record (nil) # features/client_features/check_the_record_on_database.feature:25 | |
Given the following app: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"apps"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:26:in `Given the following app:' | |
When I send a GET request to "/apps/is_on_database.xml?my_id=10000&created_at=2011-04-12%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then return nil xml of app # features/step_definitions/record_steps.rb:15 | |
Scenario: Check device record # features/client_features/check_the_record_on_database.feature:32 | |
Given the following device: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"devices"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:33:in `Given the following device:' | |
When I send a GET request to "/devices/is_on_database.xml?my_id=10000&created_at=2010-04-13%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then the device record returned # features/step_definitions/record_steps.rb:11 | |
Scenario: Check device record (nil) # features/client_features/check_the_record_on_database.feature:39 | |
Given the following device: # features/step_definitions/record_steps.rb:1 | |
| id | created_at | | |
| 10000 | 2010-04-13 07:23:24 | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"devices"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/client_features/check_the_record_on_database.feature:40:in `Given the following device:' | |
When I send a GET request to "/devices/is_on_database.xml?my_id=10000&created_at=2010-04-12%2007%3A23%3A24" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then return nil xml of device # features/step_definitions/record_steps.rb:15 | |
Feature: Display aimp_adverts | |
In order to communicate messages to existing customers | |
As a mobile client | |
I want the ability to get relevant adverts | |
Background: # features/client_features/get_banners.feature:6 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"apps"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/app_steps.rb:3:in `/^I have all the apps set up$/' | |
features/client_features/get_banners.feature:8:in `And I have all the apps set up' | |
And I have a device with an id 1 # features/step_definitions/manage_device_steps.rb:1 | |
Scenario: Clicked through testing # features/client_features/get_banners.feature:11 | |
Given the following aimp_adverts: # features/step_definitions/record_steps.rb:1 | |
| id | available_when | weighting | image_name | number_of_images | number_of_clicks | action | animation_duration | | |
| 12345 | 1 | 1 | image_name 1 | 1 | 0 | action 1 | 1.0 | | |
Then advert with id 12345 should have 0 clicks # features/step_definitions/aimp_advert_steps.rb:13 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a GET request to "/advert_server/clickedthrough.xml?aimp_advert_id=12345" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then advert with id 12345 should have 1 click # features/step_definitions/aimp_advert_steps.rb:13 | |
When I send a GET request to "/advert_server/clickedthrough.xml?aimp_advert_id=12345" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then advert with id 12345 should have 2 clicks # features/step_definitions/aimp_advert_steps.rb:13 | |
Scenario Outline: Display of Ads # features/client_features/get_banners.feature:22 | |
Given the following aimp_adverts: # features/step_definitions/record_steps.rb:1 | |
| id | available_when | weighting | image_name | number_of_images | number_of_clicks | action | animation_duration | | |
| 12345 | 1 | 1 | image_name 1 | 1 | 0 | action 1 | 1.0 | | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a GET request to "/advert_server/adverts.xml?app_id=<app_id>&device_id=<device_id>" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then the XML response should have the text "12345" # features/step_definitions/record_steps.rb:41 | |
Examples: | |
| app_id | device_id | | |
| 100 | 1 | | |
| 200 | 1 | | |
| 300 | 1 | | |
| 400 | 1 | | |
Feature: Manage Player | |
In order to track players progress | |
As a User | |
I want to log in and view my players | |
Background: # features/client_features/get_players.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/get_players.feature:7:in `Given all emails are set up' | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And organisation types are set up # features/step_definitions/organisation_steps.rb:1 | |
Scenario: Two users shouldn't see each other's players # features/client_features/get_players.feature:11 | |
Given the following users: # features/step_definitions/record_steps.rb:1 | |
| email | | |
| andrew@test.com | | |
| lauren@test.com | | |
And "andrew@test.com" has an organisation with 2 groups with 2 players each: # features/step_definitions/player_steps.rb:2 | |
| first_name | last_name | | |
| Andrew | Bloggs | | |
| Louise | Bloggs | | |
| Samuel | Blaggs | | |
| Kate | Blaggs | | |
And "lauren@test.com" has an organisation with 1 group with 3 players each: # features/step_definitions/player_steps.rb:2 | |
| first_name | last_name | | |
| Daniel | Walker | | |
| Patrick | Walker | | |
| Guy | Walker | | |
Then I should have 7 players in the database # features/step_definitions/record_steps.rb:24 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/sessions.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<session><email>andrew@test.com</email><password>password</password></session> | |
""" | |
And I send a GET request to "/players.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then I should see "Andrew" # features/step_definitions/web_steps.rb:107 | |
And I should see "Louise" # features/step_definitions/web_steps.rb:107 | |
And I should see "Samuel" # features/step_definitions/web_steps.rb:107 | |
And I should see "Kate" # features/step_definitions/web_steps.rb:107 | |
And I should see "Bloggs" # features/step_definitions/web_steps.rb:107 | |
And I should see "Blaggs" # features/step_definitions/web_steps.rb:107 | |
And I should not see "Daniel" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Patrick" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Guy" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Walker" # features/step_definitions/web_steps.rb:128 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I sign out # features/step_definitions/clearance/clearance_steps.rb:95 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/sessions.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<session><email>lauren@test.com</email><password>password</password></session> | |
""" | |
And I send a GET request to "/players.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then I should not see "Andrew" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Louise" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Samuel" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Kate" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Bloggs" # features/step_definitions/web_steps.rb:128 | |
And I should not see "Blaggs" # features/step_definitions/web_steps.rb:128 | |
And I should see "Daniel" # features/step_definitions/web_steps.rb:107 | |
And I should see "Patrick" # features/step_definitions/web_steps.rb:107 | |
And I should see "Guy" # features/step_definitions/web_steps.rb:107 | |
And I should see "Walker" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage Apps | |
In order to diagnose and collect statistics on application that use AIMP products | |
As an end user | |
They want to have an API that transparently adds the app instance to the backend system | |
Background: # features/client_features/manage_app.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/manage_app.feature:7:in `Given all emails are set up' | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I have a device with an id 208057 # features/step_definitions/manage_device_steps.rb:1 | |
Scenario: Successfully Add App via XML API # features/client_features/manage_app.feature:11 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/apps.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<app><first-launch-date type="datetime">2011-07-15</first-launch-date><number-of-launches type="integer">1</number-of-launches><is-lite type="integer">0</is-lite><version>1.4</version><apple-app-id>299342927</apple-app-id><name>PocketPhonic</name><device-id>208057</device-id></app> | |
""" | |
Then I should have 1 app in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the apps page # features/step_definitions/web_steps.rb:23 | |
Then I should see "299342927" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.4" # features/step_definitions/web_steps.rb:107 | |
And I should see "PocketPhonic" # features/step_definitions/web_steps.rb:107 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "299342927" # features/step_definitions/web_steps.rb:107 | |
And I should see "PocketPhonic" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.4" # features/step_definitions/web_steps.rb:107 | |
Then I should see "2011-07-14 23:00:00 UTC" # features/step_definitions/web_steps.rb:107 | |
Scenario: Add App with malformed date via XML API # features/client_features/manage_app.feature:30 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/apps.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<app> | |
<first-launch-date>Mon Jan 02 07:52:58 UTC 45</first-launch-date> | |
<name>pocketphonicslite</name> | |
<apple-app-id>302689971</apple-app-id> | |
<device-id nil="true"></device-id> | |
<version>1.8.4</version> | |
<is-lite type="integer">1</is-lite> | |
<number-of-launches type="integer">24</number-of-launches> | |
</app> | |
""" | |
Then I should have 1 app in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the apps page # features/step_definitions/web_steps.rb:23 | |
Then I should see "302689971" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.8.4" # features/step_definitions/web_steps.rb:107 | |
And I should see "pocketphonicslite" # features/step_definitions/web_steps.rb:107 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "302689971" # features/step_definitions/web_steps.rb:107 | |
And I should see "pocketphonicslite" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.8.4" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage Aimp Contacts | |
In order to [] | |
As [] | |
They [] | |
Background: # features/client_features/manage_contact.feature:6 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/manage_contact.feature:8:in `And all emails are set up' | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
And the following app: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | device_id | | |
| 888999 | 299342927 | 208057 | | |
Scenario: Create a Contact # features/client_features/manage_contact.feature:16 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Then I should have 1 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the aimp_contacts page # features/step_definitions/web_steps.rb:23 | |
Then I should see "Andrew Chalkley" # features/step_definitions/web_steps.rb:107 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "888999" # features/step_definitions/web_steps.rb:107 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "First Name*:" with "Henry" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Henry Chalkley" # features/step_definitions/web_steps.rb:107 | |
Scenario: Create Invalid a Contact # features/client_features/manage_contact.feature:34 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Then I should have 0 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Edit with error # features/client_features/manage_contact.feature:42 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the aimp_contacts page # features/step_definitions/web_steps.rb:23 | |
And I follow "Show" # features/step_definitions/web_steps.rb:33 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "First Name*:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "First name can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Destroy # features/client_features/manage_contact.feature:57 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the aimp_contacts page # features/step_definitions/web_steps.rb:23 | |
And I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should have 0 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Manage Devices | |
In order to diagnose and collect statistics on platforms that use AIMP products | |
As an end user | |
They want to have an API that transparently adds the device to the backend system | |
Background: # features/client_features/manage_device.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/manage_device.feature:7:in `Given all emails are set up' | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
Scenario: Successfully Create Device via XML API # features/client_features/manage_device.feature:10 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/devices.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<device><apple-device-id>C71A2214-30C4-5C35-A6D7-8484054AB7E9</apple-device-id><i-phone-o-s-version>4.3.2</i-phone-o-s-version><model-type>i386</model-type><locale>en_US</locale></device> | |
""" | |
Then I should have 1 device in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the devices page # features/step_definitions/web_steps.rb:23 | |
Then I should see "i386" # features/step_definitions/web_steps.rb:107 | |
And I should see "en_US" # features/step_definitions/web_steps.rb:107 | |
And I should see "4.3.2" # features/step_definitions/web_steps.rb:107 | |
And I should not see "C71A2214-30C4-5C35-A6D7-8484054AB7E9" # features/step_definitions/web_steps.rb:128 | |
Feature: Manage Aimp Email | |
In order to [] | |
As [] | |
They [] | |
Background: # features/client_features/manage_email.feature:6 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I have a device with an id 208057 # features/step_definitions/manage_device_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"devices"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/manage_device_steps.rb:2:in `/^I have a device with an id (\d+)$/' | |
features/client_features/manage_email.feature:8:in `And I have a device with an id 208057' | |
And I have an app with an id 6827819 # features/step_definitions/app_steps.rb:20 | |
And I have a contact with an id 10915 # features/step_definitions/aimp_contact_steps.rb:54 | |
And the following free_guide_file: # features/step_definitions/record_steps.rb:1 | |
| file_name | | |
| random_pdf_name.pdf | | |
Scenario: Create and deliver a valid email - message type 3 # features/client_features/manage_email.feature:15 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
And the following free_guide_email: # features/step_definitions/record_steps.rb:1 | |
| subject | body | | |
| Subject | Body | | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email><message-sent-at /><iphone-o-s>4.3.2</iphone-o-s><sent-status type="integer">3</sent-status><to-recipients>andrew@chalkley.org</to-recipients><body>dummy body for rails</body><bcc-recipients /><cc-recipients /><created-by-contact-id>10915</created-by-contact-id><from>aimpsupport@appsinmypocket.com</from><device-id>208057</device-id><subject>Your free guide to teaching your child to read using phonics</subject><app-id>6827819</app-id><message-type type="integer">3</message-type></aimp-email> | |
""" | |
Then I should store the aimp_email # features/step_definitions/aimp_email_steps.rb:1 | |
When I should visit the aimp deliver path for the previous aimp_email # features/step_definitions/aimp_email_steps.rb:5 | |
Then the sent_status should be different # features/step_definitions/aimp_email_steps.rb:9 | |
Scenario: Create and deliver a valid email message type 2 # features/client_features/manage_email.feature:28 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
And the following free_guide_email: # features/step_definitions/record_steps.rb:1 | |
| subject | body | | |
| Subject | Body | | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email><message-sent-at /><iphone-o-s>4.3.2</iphone-o-s><sent-status type="integer">3</sent-status><to-recipients>andrew@chalkley.org</to-recipients><body>dummy body for rails</body><bcc-recipients /><cc-recipients /><created-by-contact-id>10915</created-by-contact-id><from>aimpsupport@appsinmypocket.com</from><device-id>208057</device-id><subject>Your free guide to teaching your child to read using phonics</subject><app-id>6827819</app-id><message-type type="integer">2</message-type></aimp-email> | |
""" | |
Then I should store the aimp_email # features/step_definitions/aimp_email_steps.rb:1 | |
When I should visit the aimp deliver path for the previous aimp_email # features/step_definitions/aimp_email_steps.rb:5 | |
Then the sent_status should be different # features/step_definitions/aimp_email_steps.rb:9 | |
Scenario: Create and deliver a valid email message type 1 # features/client_features/manage_email.feature:41 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
And the following free_guide_email: # features/step_definitions/record_steps.rb:1 | |
| subject | body | | |
| Subject | Body | | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email><message-sent-at /><iphone-o-s>4.3.2</iphone-o-s><sent-status type="integer">3</sent-status><to-recipients>andrew@chalkley.org</to-recipients><body>dummy body for rails</body><bcc-recipients /><cc-recipients /><created-by-contact-id>10915</created-by-contact-id><from>aimpsupport@appsinmypocket.com</from><device-id>208057</device-id><subject>Your free guide to teaching your child to read using phonics</subject><app-id>6827819</app-id><message-type type="integer">1</message-type></aimp-email> | |
""" | |
Then I should store the aimp_email # features/step_definitions/aimp_email_steps.rb:1 | |
When I should visit the aimp deliver path for the previous aimp_email # features/step_definitions/aimp_email_steps.rb:5 | |
Then the sent_status should be different # features/step_definitions/aimp_email_steps.rb:9 | |
Scenario: Create and deliver a valid email message type 1 and is lite # features/client_features/manage_email.feature:54 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
And I have an app with an id 6827820 # features/step_definitions/app_steps.rb:20 | |
And the following free_guide_email: # features/step_definitions/record_steps.rb:1 | |
| subject | body | | |
| Subject | Body | | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email><message-sent-at /><iphone-o-s>4.3.2</iphone-o-s><sent-status type="integer">3</sent-status><to-recipients>andrew@chalkley.org</to-recipients><body>dummy body for rails</body><bcc-recipients /><cc-recipients /><created-by-contact-id>10915</created-by-contact-id><from>aimpsupport@appsinmypocket.com</from><device-id>208057</device-id><subject>Your free guide to teaching your child to read using phonics</subject><app-id>6827820</app-id><message-type type="integer">1</message-type></aimp-email> | |
""" | |
Then I should store the aimp_email # features/step_definitions/aimp_email_steps.rb:1 | |
When I should visit the aimp deliver path for the previous aimp_email # features/step_definitions/aimp_email_steps.rb:5 | |
Then the sent_status should be different # features/step_definitions/aimp_email_steps.rb:9 | |
Scenario: Create invalid email # features/client_features/manage_email.feature:68 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email><message-sent-at /><iphone-o-s>4.3.2</iphone-o-s><sent-status type="integer">3</sent-status><to-recipients>andrew</to-recipients><body></body><bcc-recipients /><cc-recipients /><created-by-contact-id>10915</created-by-contact-id><from>aimpsupport@appsinmypocket.com</from><device-id>208057</device-id><subject></subject><app-id>6827819</app-id><message-type type="integer">3</message-type></aimp-email> | |
""" | |
Then I should have 0 aimp_emails in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Manage Organisation | |
In order to update organisations | |
As a user | |
I want to be able to call the API for modifications | |
Background: # features/client_features/manage_organisation.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/manage_organisation.feature:8:in `Given all emails are set up' | |
Given the following users: # features/step_definitions/record_steps.rb:1 | |
| email | | |
| example@example.com | | |
And organisation types are set up # features/step_definitions/organisation_steps.rb:1 | |
And the School organisation "Penshurst" is attached to "example@example.com" # features/step_definitions/organisation_steps.rb:21 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
Scenario: Update Organisations # features/client_features/manage_organisation.feature:17 | |
Given the organisation "Penshurst" is in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:26 | |
Given the organisation "Friend family" is not in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:31 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a PUT request to "/organisations/1.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<organisation><organisation-type-id type="integer">1</organisation-type-id><creator-id type="integer">1</creator-id><image-file-name></image-file-name><name>Friend family</name><image-updated-at></image-updated-at><image-content-type></image-content-type><image-file-size type="integer">0</image-file-size></organisation> | |
""" | |
Then the organisation "Penshurst" is not in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:31 | |
Then the organisation "Friend family" is in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:26 | |
Feature: Manage Players | |
In order to update players | |
As a user | |
I want to be able to call the API for modifications | |
Background: # features/client_features/manage_players.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/manage_players.feature:8:in `Given all emails are set up' | |
Given the following users: # features/step_definitions/record_steps.rb:1 | |
| email | | |
| example@example.com | | |
And organisation types are set up # features/step_definitions/organisation_steps.rb:1 | |
And the School organisation "Penshurst" is attached to "example@example.com" # features/step_definitions/organisation_steps.rb:21 | |
Given the following groups: # features/step_definitions/record_steps.rb:1 | |
| organisation_id | name | | |
| 1 | 1B | | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
Scenario: Creating players in Organisation (with player-setting) # features/client_features/manage_players.feature:20 | |
Given the organisation "Penshurst" is in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:26 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/organisations/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth></date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name><generic-player-settings><writing-style><letter-case type="integer">0</letter-case><handwriting-type type="integer">0</handwriting-type><lefthanded type="boolean">0</lefthanded><handwriting-style type="integer">0</handwriting-style></writing-style><play-sound-effects type="boolean">1</play-sound-effects><play-music type="boolean">1</play-music><word-game-level type="integer">1</word-game-level><practise-option type="integer">0</practise-option><current-level-playing type="integer">0</current-level-playing><current-sounds-group-ids>s,a,t,p,i,n</current-sounds-group-ids><age-range type="integer">0</age-range><nationality-of-voice>us</nationality-of-voice></generic-player-settings><pocket-phonics-player-settings><auto-start-word-game-after-sounds type="boolean">1</auto-start-word-game-after-sounds><auto-navigate-on-words type="boolean">1</auto-navigate-on-words><user-can-save-strokes type="boolean">0</user-can-save-strokes><enable-navigation-between-sound-groups type="boolean">1</enable-navigation-between-sound-groups><writing-checking-level type="integer">2</writing-checking-level><prompt-sounds type="boolean">1</prompt-sounds></pocket-phonics-player-settings></player> | |
""" | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 0 players # features/step_definitions/player_steps.rb:49 | |
And I should have 1 generic_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 pocket_phonics_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 writing_style in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Creating players in Organisation (with player-settings) # features/client_features/manage_players.feature:33 | |
Given the organisation "Penshurst" is in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:26 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/organisations/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth></date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name><generic-player-settings><writing-style><letter-case type="integer">0</letter-case><handwriting-type type="integer">0</handwriting-type><lefthanded type="boolean">0</lefthanded><handwriting-style type="integer">0</handwriting-style></writing-style><play-sound-effects type="boolean">1</play-sound-effects><play-music type="boolean">1</play-music><word-game-level type="integer">1</word-game-level><practise-option type="integer">0</practise-option><current-level-playing type="integer">0</current-level-playing><current-sounds-group-ids>s,a,t,p,i,n</current-sounds-group-ids><age-range type="integer">0</age-range><nationality-of-voice>us</nationality-of-voice></generic-player-settings><pocket-phonics-player-settings><auto-start-word-game-after-sounds type="boolean">1</auto-start-word-game-after-sounds><auto-navigate-on-words type="boolean">1</auto-navigate-on-words><user-can-save-strokes type="boolean">0</user-can-save-strokes><enable-navigation-between-sound-groups type="boolean">1</enable-navigation-between-sound-groups><writing-checking-level type="integer">2</writing-checking-level><prompt-sounds type="boolean">1</prompt-sounds></pocket-phonics-player-settings></player> | |
""" | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 0 players # features/step_definitions/player_steps.rb:49 | |
And I should have 1 generic_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 pocket_phonics_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 writing_style in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Creating players in Group # features/client_features/manage_players.feature:46 | |
Given the Group "1B" is attached to the Organisation "Penshurst" # features/step_definitions/group_steps.rb:6 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/groups/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth></date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name></player> | |
""" | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:49 | |
And I should have 0 generic_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 pocket_phonics_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 writing_style in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Add player with date of birth (fixing error on update) # features/client_features/manage_players.feature:59 | |
Given the organisation "Penshurst" is in "example@example.com" organisations # features/step_definitions/organisation_steps.rb:26 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/organisations/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth>2008-06-19T23:00:00Z</date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name><generic-player-settings><writing-style><letter-case type="integer">0</letter-case><handwriting-type type="integer">0</handwriting-type><lefthanded type="boolean">0</lefthanded><handwriting-style type="integer">0</handwriting-style></writing-style><play-sound-effects type="boolean">1</play-sound-effects><play-music type="boolean">1</play-music><word-game-level type="integer">1</word-game-level><practise-option type="integer">0</practise-option><current-level-playing type="integer">0</current-level-playing><current-sounds-group-ids>s,a,t,p,i,n</current-sounds-group-ids><age-range type="integer">0</age-range><nationality-of-voice>us</nationality-of-voice></generic-player-settings><pocket-phonics-player-settings><auto-start-word-game-after-sounds type="boolean">1</auto-start-word-game-after-sounds><auto-navigate-on-words type="boolean">1</auto-navigate-on-words><user-can-save-strokes type="boolean">0</user-can-save-strokes><enable-navigation-between-sound-groups type="boolean">1</enable-navigation-between-sound-groups><writing-checking-level type="integer">2</writing-checking-level><prompt-sounds type="boolean">1</prompt-sounds></pocket-phonics-player-settings></player> | |
""" | |
When I send a PUT request to "/organisations/1/players/1.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<player><date-of-birth type="datetime">2008-07-19T23:00:00Z</date-of-birth><last-name>Beeson</last-name><image-updated-at type="datetime">2012-07-20T08:53:25Z</image-updated-at><age-grouping-id type="integer">0</age-grouping-id><first-name>Trevor</first-name><locale>en_GB</locale><creator-id type="integer">1</creator-id><image-file-size type="integer">45851</image-file-size><image-content-type>image/jpeg</image-content-type><image-file-name>file.jpg</image-file-name></player> | |
""" | |
Then Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And I should have 1 generic_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 pocket_phonics_player_settings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 writing_style in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Remove Player From Group # features/client_features/manage_players.feature:75 | |
Given the Group "1B" is attached to the Organisation "Penshurst" # features/step_definitions/group_steps.rb:6 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/groups/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth></date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name></player> | |
""" | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:49 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a DELETE request to "/groups/1/players/1.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:35 | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 0 player # features/step_definitions/player_steps.rb:49 | |
Scenario: Remove Player From Group & Organisation # features/client_features/manage_players.feature:89 | |
Given the Group "1B" is attached to the Organisation "Penshurst" # features/step_definitions/group_steps.rb:6 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a POST request to "/groups/1/players.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<player><date-of-birth></date-of-birth><last-name></last-name><image-updated-at></image-updated-at><first-name>Alex Friend</first-name><creator-id></creator-id><image-file-size></image-file-size><image-content-type></image-content-type><image-file-name></image-file-name></player> | |
""" | |
And Organisation "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 1 player # features/step_definitions/player_steps.rb:49 | |
Given I use basic auth with "example@example.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a DELETE request to "/organisations/1/players/1.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:35 | |
And Organisation "Penshurst" should have 0 player # features/step_definitions/player_steps.rb:44 | |
And Group "1B" of "Penshurst" should have 0 player # features/step_definitions/player_steps.rb:49 | |
Feature: Check the record on database | |
In order for parents to track players progress | |
The mobile device needs to send various requests | |
Background: # features/client_features/manage_ratings.feature:5 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
Scenario: Posting 2 updates for the same letter for the same player in one request # features/client_features/manage_ratings.feature:9 | |
When I send a POST request to "/rating_updates_lists.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<rating-updates-list> | |
<rating-updates type="array"> | |
<update-for-letter-sound-rating> | |
<recognise-as-first-letter-sound-score>3</recognise-as-first-letter-sound-score> | |
<letter-sound-id>th1</letter-sound-id> | |
<recognise-when-spoken-score>3</recognise-when-spoken-score> | |
<recognise-as-last-letter-sound-score>3</recognise-as-last-letter-sound-score> <uppercase-handwriting-score>3</uppercase-handwriting-score> | |
<lowercase-handwriting-score>3</lowercase-handwriting-score> | |
<last-played>2011-01-01 10:15:10</last-played> | |
<speak-letter-sound-score>3</speak-letter-sound-score> | |
<number-of-game-rounds-since-last-updated-server type="decimal">3</number-of-game-rounds-since-last-updated-server> | |
<apple-app-id>299342927</apple-app-id> | |
<recognise-as-middle-letter-sound-score>3</recognise-as-middle-letter-sound-score> | |
<cursive-handwriting-score>3</cursive-handwriting-score> | |
<player-id>1</player-id> | |
</update-for-letter-sound-rating> | |
<update-for-letter-sound-rating> | |
<recognise-as-first-letter-sound-score>2</recognise-as-first-letter-sound-score> | |
<letter-sound-id>th1</letter-sound-id> | |
<recognise-when-spoken-score>2</recognise-when-spoken-score> | |
<recognise-as-last-letter-sound-score>2</recognise-as-last-letter-sound-score> <uppercase-handwriting-score>2</uppercase-handwriting-score> | |
<lowercase-handwriting-score>2</lowercase-handwriting-score> | |
<last-played>2011-01-01 10:10:10</last-played> | |
<speak-letter-sound-score>2</speak-letter-sound-score> | |
<number-of-game-rounds-since-last-updated-server type="integer">3</number-of-game-rounds-since-last-updated-server> | |
<apple-app-id>299342927</apple-app-id> | |
<recognise-as-middle-letter-sound-score>2</recognise-as-middle-letter-sound-score> | |
<cursive-handwriting-score>2</cursive-handwriting-score> | |
<player-id>1</player-id> | |
</update-for-letter-sound-rating> | |
</rating-updates> | |
</rating-updates-list> | |
""" | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"rating_updates_lists"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./app/controllers/rating_updates_lists_controller.rb:9:in `create' | |
features/client_features/manage_ratings.feature:10:in `When I send a POST request to "/rating_updates_lists.xml" with the following:' | |
Then I should have 2 UpdateForLetterSoundRatings in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 RatingUpdatesList in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 PlayerLetterSoundRating in the database # features/step_definitions/record_steps.rb:24 | |
Then the result of "RatingUpdatesList.first.rating_updates.count" should equal "2" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.total_rounds_played" should equal "6" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.recognise_as_first_letter_sound_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.recognise_as_middle_letter_sound_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.recognise_as_last_letter_sound_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.uppercase_handwriting_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.lowercase_handwriting_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.cursive_handwriting_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.recognise_when_spoken_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
Then the result of "PlayerLetterSoundRating.first.speak_letter_sound_score" should equal "3.0" # features/step_definitions/record_steps.rb:20 | |
When I send a GET request to "/player_letter_sound_ratings/player/1.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Then the ratings for the player 1 should be returned # features/step_definitions/record_steps.rb:36 | |
Feature: Update User | |
Update User on device | |
Background: # features/client_features/update_user.feature:4 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/update_user.feature:5:in `Given all emails are set up' | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
Given the following users: # features/step_definitions/record_steps.rb:1 | |
| id | email | | |
| 199283 | tim@tim.com | | |
Scenario: Update name, email and password # features/client_features/update_user.feature:11 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/sessions.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<session><password>tim</password><user-account><password>password</password><user-detail><email-permission type="boolean">1</email-permission><source type="integer">0</source><last-name>Tim</last-name><first-name>;Tim</first-name><has-abc-pocketphonics-lite type="boolean">1</has-abc-pocketphonics-lite><locale>en_US</locale><email-address>tim@tim.com</email-address><has-abc-pocketphonics type="boolean">1</has-abc-pocketphonics><activation-code>3ae3d17cf5ef7c1693a07e72324ce63788e5a8af</activation-code><has-dottodot-lite type="boolean">0</has-dottodot-lite><free-guide-request type="boolean">1</free-guide-request><has-dottodot type="boolean">1</has-dottodot><contact-type type="integer">0</contact-type><email-address-confirmed type="boolean">0</email-address-confirmed></user-detail><updated-at type="datetime">2011-11-18</updated-at><email>tim@tim.com</email><role></role><user-account-id type="integer">28</user-account-id><created-at type="datetime">2011-11-15</created-at></user-account><email>tim@tim.com</email></session> | |
""" | |
And I use basic auth with "tim@tim.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a PUT request to "/user_accounts/28.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<user-account><password>password</password><user-detail><email-permission type="integer">1</email-permission><source type="integer">0</source><last-name>Tim</last-name><first-name>Tim</first-name><has-abc-pocketphonics-lite type="integer">1</has-abc-pocketphonics-lite><locale>en_US</locale><email-address>tim@tim.com</email-address><has-abc-pocketphonics type="integer">1</has-abc-pocketphonics><activation-code>3ae3d17cf5ef7c1693a07e72324ce63788e5a8af</activation-code><has-dottodot-lite type="integer">0</has-dottodot-lite><free-guide-request type="integer">1</free-guide-request><has-dottodot type="integer">1</has-dottodot><contact-type type="integer">0</contact-type><email-address-confirmed type="integer">0</email-address-confirmed></user-detail><email>tim@tim.com</email><role></role></user-account> | |
""" | |
Then with email "tim@tim.com" first_name should be "Tim" # features/step_definitions/user_steps.rb:2 | |
And I use basic auth with "tim@tim.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a PUT request to "/user_accounts/28.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<user-account><password>password</password><user-detail><email-permission type="integer">1</email-permission><source type="integer">0</source><last-name>Tim</last-name><first-name>Tim</first-name><has-abc-pocketphonics-lite type="integer">1</has-abc-pocketphonics-lite><locale>en_US</locale><email-address>tim@timmy.com</email-address><has-abc-pocketphonics type="integer">1</has-abc-pocketphonics><activation-code>3ae3d17cf5ef7c1693a07e72324ce63788e5a8af</activation-code><has-dottodot-lite type="integer">0</has-dottodot-lite><free-guide-request type="integer">1</free-guide-request><has-dottodot type="integer">1</has-dottodot><contact-type type="integer">0</contact-type><email-address-confirmed type="integer">0</email-address-confirmed></user-detail><email>tim@timmy.com</email><role></role></user-account> | |
""" | |
Then with email "tim@timmy.com" first_name should be "Tim" # features/step_definitions/user_steps.rb:2 | |
And I use basic auth with "tim@timmy.com/password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a PUT request to "/user_accounts/28.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<user-account><password>new_password</password><user-detail><email-permission type="integer">1</email-permission><source type="integer">0</source><last-name>Tim</last-name><first-name>Tim</first-name><has-abc-pocketphonics-lite type="integer">1</has-abc-pocketphonics-lite><locale>en_US</locale><email-address>tim@timmy.com</email-address><has-abc-pocketphonics type="integer">1</has-abc-pocketphonics><activation-code>3ae3d17cf5ef7c1693a07e72324ce63788e5a8af</activation-code><has-dottodot-lite type="integer">0</has-dottodot-lite><free-guide-request type="integer">1</free-guide-request><has-dottodot type="integer">1</has-dottodot><contact-type type="integer">0</contact-type><email-address-confirmed type="integer">0</email-address-confirmed></user-detail><email>tim@timmy.com</email><role></role></user-account> | |
""" | |
And I use basic auth with "tim@timmy.com/new_password" # features/step_definitions/basic_auth_steps.rb:1 | |
When I send a PUT request to "/user_accounts/28.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<user-account><password>new_password</password><user-detail><email-permission type="integer">1</email-permission><source type="integer">0</source><last-name>McTim</last-name><first-name>Tim</first-name><has-abc-pocketphonics-lite type="integer">1</has-abc-pocketphonics-lite><locale>en_US</locale><email-address>tim@timmy.com</email-address><has-abc-pocketphonics type="integer">1</has-abc-pocketphonics><activation-code>3ae3d17cf5ef7c1693a07e72324ce63788e5a8af</activation-code><has-dottodot-lite type="integer">0</has-dottodot-lite><free-guide-request type="integer">1</free-guide-request><has-dottodot type="integer">1</has-dottodot><contact-type type="integer">0</contact-type><email-address-confirmed type="integer">0</email-address-confirmed></user-detail><email>tim@timmy.com</email><role></role></user-account> | |
""" | |
Then with email "tim@timmy.com" last_name should be "McTim" # features/step_definitions/user_steps.rb:2 | |
Feature: Sign up | |
In order to access protected sections of the site | |
As a visitor | |
I want to sign up | |
Background: # features/client_features/visitor_sign_up.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/client_features/visitor_sign_up.feature:7:in `Given all emails are set up' | |
Scenario: Sign up via API # features/client_features/visitor_sign_up.feature:9 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/user_accounts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<user-account><source type="integer">0</source><email-address>silly@man.com</email-address><last-name>Man</last-name><password>silly</password><first-name>Silly</first-name><locale>en_US</locale><user-detail><source type="integer">0</source><email-address>silly@man.com</email-address><last-name>Man</last-name><locale>en_US</locale><contact-type type="integer">1</contact-type><first-name>Silly</first-name><has-dottodot-lite type="boolean">0</has-dottodot-lite><has-abc-pocketphonics type="boolean">1</has-abc-pocketphonics><free-guide-request></free-guide-request><activation-code></activation-code><email-address-confirmed type="boolean">0</email-address-confirmed><email-permission type="boolean">1</email-permission><has-dottodot type="boolean">0</has-dottodot><has-abc-pocketphonics-lite type="boolean">0</has-abc-pocketphonics-lite></user-detail><contact-type type="integer">1</contact-type><free-guide-request></free-guide-request><activation-code></activation-code><email>silly@man.com</email><role></role><email-permission type="boolean">1</email-permission><accept-privacy type="boolean">1</accept-privacy><email-address-confirmed type="boolean">0</email-address-confirmed></user-account> | |
""" | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Sign up via API and do not accept privacy # features/client_features/visitor_sign_up.feature:18 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/user_accounts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<user-account><source type="integer">0</source><email-address>silly@man.com</email-address><last-name>Man</last-name><password>silly</password><first-name>Silly</first-name><locale>en_US</locale><user-detail><source type="integer">0</source><email-address>silly@man.com</email-address><last-name>Man</last-name><locale>en_US</locale><contact-type type="integer">1</contact-type><first-name>Silly</first-name><has-dottodot-lite type="boolean">0</has-dottodot-lite><has-abc-pocketphonics type="boolean">1</has-abc-pocketphonics><free-guide-request></free-guide-request><activation-code></activation-code><email-address-confirmed type="boolean">0</email-address-confirmed><email-permission type="boolean">1</email-permission><has-dottodot type="boolean">0</has-dottodot><has-abc-pocketphonics-lite type="boolean">0</has-abc-pocketphonics-lite></user-detail><contact-type type="integer">1</contact-type><free-guide-request></free-guide-request><activation-code></activation-code><email>silly@man.com</email><role></role><email-permission type="boolean">1</email-permission><accept-privacy type="boolean">0</accept-privacy><email-address-confirmed type="boolean">0</email-address-confirmed></user-account> | |
""" | |
Then I should have 0 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Sign up via API and email already exists # features/client_features/visitor_sign_up.feature:27 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/user_accounts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<user-account><password>password</password><email>example@example.com</email><role></role><user-detail><email-address-confirmed type="integer">0</email-address-confirmed><email-address></email-address><last-name>timonen</last-name><locale></locale><updated-at></updated-at><first-name>Josh</first-name><has-dottodot-lite></has-dottodot-lite><has-abc-pocketphonics></has-abc-pocketphonics><activation-code></activation-code><email-permission type="integer">1</email-permission><has-dottodot></has-dottodot><has-abc-pocketphonics-lite></has-abc-pocketphonics-lite><user-detail-id></user-detail-id><created-at></created-at></user-detail><accept-privacy type="boolean">1</accept-privacy></user-account> | |
""" | |
And the response status is 302 # features/step_definitions/web_steps.rb:221 | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the sign in page # features/step_definitions/web_steps.rb:23 | |
And I sign out # features/step_definitions/clearance/clearance_steps.rb:95 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/user_accounts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<user-account><password>password</password><email>example@example.com</email><role></role><user-detail><email-address-confirmed type="integer">0</email-address-confirmed><email-address></email-address><last-name>timonen</last-name><locale></locale><updated-at></updated-at><first-name>Josh</first-name><has-dottodot-lite></has-dottodot-lite><has-abc-pocketphonics></has-abc-pocketphonics><activation-code></activation-code><email-permission type="integer">1</email-permission><has-dottodot></has-dottodot><has-abc-pocketphonics-lite></has-abc-pocketphonics-lite><user-detail-id></user-detail-id><created-at></created-at></user-detail><accept-privacy type="boolean">1</accept-privacy></user-account> | |
""" | |
And the response status is 422 # features/step_definitions/web_steps.rb:221 | |
Then I should see "Email has already been taken" # features/step_definitions/web_steps.rb:107 | |
Feature: Automated Lookup Tables Cron | |
In order to be relieved from performing mundane tasks of data entry | |
As a business owner | |
I want to run a cron task that automatically creates new devices and os versions | |
Background: # features/cron_features/automatic_look_up_cron.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/cron_features/automatic_look_up_cron.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Automated Device Type Tables # features/cron_features/automatic_look_up_cron.feature:11 | |
Given I should have 0 DeviceMaster in the database # features/step_definitions/record_steps.rb:24 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| model_type | | |
| iPhone1,1 | | |
| iPhone1,1 | | |
| iPhone1,2 | | |
| iPhone1,2 | | |
| iPhone1,2 | | |
| iPhone1,2 | | |
| iPhone1,1 | | |
| iPhone2,2 | | |
And I should have 8 Devices in the database # features/step_definitions/record_steps.rb:24 | |
When I run devices on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 3 DeviceMasters in the database # features/step_definitions/record_steps.rb:24 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| model_type | | |
| iPhone1,1 | | |
When I run devices on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 3 DeviceMasters in the database # features/step_definitions/record_steps.rb:24 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "iPhone1,1" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iPhone1,2" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iPhone2,2" # features/step_definitions/web_steps.rb:107 | |
Then I should not see "iProd1,1" # features/step_definitions/web_steps.rb:128 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| model_type | | |
| iProd1,1 | | |
When I run devices on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 4 DeviceMasters in the database # features/step_definitions/record_steps.rb:24 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "iPhone1,1" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iPhone1,2" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iPhone2,2" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iProd1,1" # features/step_definitions/web_steps.rb:107 | |
Scenario: Automated iOS Version Tables # features/cron_features/automatic_look_up_cron.feature:47 | |
Given I should have 0 OsIphones in the database # features/step_definitions/record_steps.rb:24 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| i_phone_o_s_version | | |
| 2.1.3 | | |
| 5.0 | | |
| 5.0 | | |
| 2.1.3 | | |
| 2.1.3 | | |
| 4.1.3 | | |
| 2.1.3 | | |
| 2.1.3 | | |
And I should have 8 Devices in the database # features/step_definitions/record_steps.rb:24 | |
When I run os_iphones on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 3 OsIphones in the database # features/step_definitions/record_steps.rb:24 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| i_phone_o_s_version | | |
| 5.0 | | |
When I run os_iphones on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 3 OsIphones in the database # features/step_definitions/record_steps.rb:24 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "2.1.3" # features/step_definitions/web_steps.rb:107 | |
Then I should see "5.0" # features/step_definitions/web_steps.rb:107 | |
Then I should see "4.1.3" # features/step_definitions/web_steps.rb:107 | |
Then I should not see "3.2" # features/step_definitions/web_steps.rb:128 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| i_phone_o_s_version | | |
| 3.2 | | |
When I run os_iphones on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 4 OsIphones in the database # features/step_definitions/record_steps.rb:24 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "2.1.3" # features/step_definitions/web_steps.rb:107 | |
Then I should see "5.0" # features/step_definitions/web_steps.rb:107 | |
Then I should see "4.1.3" # features/step_definitions/web_steps.rb:107 | |
Then I should see "3.2" # features/step_definitions/web_steps.rb:107 | |
Scenario: Automated App Masters Tables # features/cron_features/automatic_look_up_cron.feature:83 | |
Given I should have 0 AppMasters in the database # features/step_definitions/record_steps.rb:24 | |
And I have 100 apps with apple_app_id: "333188500", name: "dtd full", version: "1.3.2" # features/step_definitions/app_steps.rb:14 | |
When I run app_masters on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
Then I should have 1 AppMasters in the database # features/step_definitions/record_steps.rb:24 | |
When I go to the app_masters page # features/step_definitions/web_steps.rb:23 | |
Then I should see "dtd full" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.3.2" # features/step_definitions/web_steps.rb:107 | |
When I have 100 apps with apple_app_id: "333188500", name: "dtd extra", version: "1.3.3" # features/step_definitions/app_steps.rb:14 | |
And I run app_masters on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
And I have 2 apps with apple_app_id: "333188500", name: "dtd full", version: "1.3.2" # features/step_definitions/app_steps.rb:14 | |
And I run app_masters on AutomaticLookUpCron # features/step_definitions/cron_steps.rb:14 | |
When I go to the app_masters page # features/step_definitions/web_steps.rb:23 | |
Then I should see "dtd extra" # features/step_definitions/web_steps.rb:107 | |
And I should see "1.3.3" # features/step_definitions/web_steps.rb:107 | |
Feature: Clean Up | |
In order to maintain the integrity of the data | |
As a business owner | |
I want to run a rake task | |
Scenario: Clean Up Multiple ConsolidatedContacts # features/cron_features/clean_up.feature:6 | |
Given the following consolidated_contacts: # features/step_definitions/record_steps.rb:1 | |
| email_address | has_abc_pocketphonics | has_abc_pocketphonics_lite | has_dottodot | has_dottodot_lite | | |
| andrew@chalkley.org | true | false | false | false | | |
| andrew@chalkley.org | false | true | false | false | | |
| andrew@chalkley.com | false | true | false | false | | |
| andrew@chalkley.org | false | false | false | true | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"consolidated_contacts"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/cron_features/clean_up.feature:7:in `Given the following consolidated_contacts:' | |
And I should have 4 ConsolidatedContacts in the database # features/step_definitions/record_steps.rb:24 | |
When I run consolidated_contact on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
Then I should have 2 ConsolidatedContacts in the database # features/step_definitions/record_steps.rb:24 | |
When I inspect the ConsolidatedContact with email "andrew@chalkley.org" # features/step_definitions/consolidate_contact_steps.rb:5 | |
Then has_abc_pocketphonics on ConsolidatedContact should be true # features/step_definitions/consolidate_contact_steps.rb:9 | |
Then has_abc_pocketphonics_lite on ConsolidatedContact should be true # features/step_definitions/consolidate_contact_steps.rb:9 | |
Then has_dottodot on ConsolidatedContact should be false # features/step_definitions/consolidate_contact_steps.rb:9 | |
Then has_dottodot_lite on ConsolidatedContact should be true # features/step_definitions/consolidate_contact_steps.rb:9 | |
Scenario: Email Permission of Last ConsolidatedContact should be there # features/cron_features/clean_up.feature:22 | |
Given the following consolidated_contacts: # features/step_definitions/record_steps.rb:1 | |
| email_address | email_permission | | |
| andrew@chalkley.org | true | | |
| andrew@chalkley.org | false | | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"consolidated_contacts"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/record_steps.rb:6 | |
./features/step_definitions/record_steps.rb:3:in `each' | |
./features/step_definitions/record_steps.rb:3:in `/^the following (.*):$/' | |
features/cron_features/clean_up.feature:23:in `Given the following consolidated_contacts:' | |
And I should have 2 ConsolidatedContacts in the database # features/step_definitions/record_steps.rb:24 | |
When I run consolidated_contact on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
Then I should have 1 ConsolidatedContacts in the database # features/step_definitions/record_steps.rb:24 | |
When I inspect the ConsolidatedContact with email "andrew@chalkley.org" # features/step_definitions/consolidate_contact_steps.rb:5 | |
Then email_permission on ConsolidatedContact should be false # features/step_definitions/consolidate_contact_steps.rb:9 | |
Given the following consolidated_contacts: # features/step_definitions/record_steps.rb:1 | |
| email_address | email_permission | | |
| andrew@chalkley.org | true | | |
When I run consolidated_contact on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
Then I should have 1 ConsolidatedContacts in the database # features/step_definitions/record_steps.rb:24 | |
When I inspect the ConsolidatedContact with email "andrew@chalkley.org" # features/step_definitions/consolidate_contact_steps.rb:5 | |
Then email_permission on ConsolidatedContact should be true # features/step_definitions/consolidate_contact_steps.rb:9 | |
Scenario: Save Latest Version for App Masters # features/cron_features/clean_up.feature:40 | |
Given I have 100 apps with apple_app_id: "333188500", name: "dtd full", version: "1.0" # features/step_definitions/app_steps.rb:14 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"apps"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/app_steps.rb:16 | |
./features/step_definitions/app_steps.rb:15:in `times' | |
./features/step_definitions/app_steps.rb:15:in `/^I have (\d+) apps with apple_app_id: "(.*)", name: "(.*)", version: "(.*)"$/' | |
features/cron_features/clean_up.feature:41:in `Given I have 100 apps with apple_app_id: "333188500", name: "dtd full", version: "1.0"' | |
When I run app_masters on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
And I inspect the AppMaster with apple_app_id "333188500" # features/step_definitions/app_master_steps.rb:19 | |
Then name on AppMaster should be "dtd full" # features/step_definitions/app_master_steps.rb:23 | |
And latest_version on AppMaster should be "1.0" # features/step_definitions/app_master_steps.rb:23 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "dtd full" # features/step_definitions/web_steps.rb:107 | |
And I have 101 apps with apple_app_id: "333188500", name: "DotToDot Mega Edition", version: "1.1" # features/step_definitions/app_steps.rb:14 | |
When I run app_masters on DataCleaner # features/step_definitions/consolidate_contact_steps.rb:1 | |
And I inspect the AppMaster with apple_app_id "333188500" # features/step_definitions/app_master_steps.rb:19 | |
Then name on AppMaster should be "DotToDot Mega Edition" # features/step_definitions/app_master_steps.rb:23 | |
And latest_version on AppMaster should be "1.1" # features/step_definitions/app_master_steps.rb:23 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I am on the support page # features/step_definitions/web_steps.rb:19 | |
Then I should see "DotToDot Mega Edition" # features/step_definitions/web_steps.rb:107 | |
Feature: Cron | |
In order to perform system tasks | |
As a business owner | |
I want to run a cron task | |
Background: # features/cron_features/cron.feature:6 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/cron_features/cron.feature:8:in `And all emails are set up' | |
And all follow up emails are set up # features/step_definitions/follow_up_email_steps.rb:1 | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 1 | | |
| 2 | | |
| 3 | | |
| 4 | | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
And I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request>1</free-guide-request><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>1</device-id><app-id>1</app-id></aimp-contact> | |
""" | |
And I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request>1</free-guide-request><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>2</device-id><app-id>2</app-id></aimp-contact> | |
""" | |
And I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request>1</free-guide-request><contact-type type="integer">3</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>3</device-id><app-id>3</app-id></aimp-contact> | |
""" | |
And I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request>1</free-guide-request><contact-type type="integer">3</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>4</device-id><app-id>4</app-id></aimp-contact> | |
""" | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
And I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request>1</free-guide-request><contact-type type="integer">3</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>4</device-id><app-id>4</app-id></aimp-contact> | |
""" | |
And last contact was created 1 day ago # features/step_definitions/aimp_contact_steps.rb:63 | |
And the following free_guide_file: # features/step_definitions/record_steps.rb:1 | |
| file_name | | |
| pph.pdf | | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
And there is a CsvEmailList with create_email_list set to "false" # features/step_definitions/csv_email_list_steps.rb:1 | |
Scenario: Test Cron Task # features/cron_features/cron.feature:47 | |
Given I have 100 DtdApp records # features/step_definitions/app_steps.rb:34 | |
Given I have 100 DtdLiteApp records # features/step_definitions/app_steps.rb:41 | |
Given I have 100 ppApp records # features/step_definitions/app_steps.rb:47 | |
Given I have 100 ppLiteApp records # features/step_definitions/app_steps.rb:53 | |
When I run the cron task # features/step_definitions/cron_steps.rb:1 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
And I am on the aimp emails page # features/step_definitions/web_steps.rb:19 | |
When I follow "consolidate contact" # features/step_definitions/web_steps.rb:33 | |
And I select "all" from "Application name" # features/step_definitions/web_steps.rb:70 | |
And I press "generate" # features/step_definitions/web_steps.rb:27 | |
And I follow "Download list as CSV" # features/step_definitions/web_steps.rb:33 | |
And I am on the aimp emails page # features/step_definitions/web_steps.rb:19 | |
When I follow "consolidate contact" # features/step_definitions/web_steps.rb:33 | |
And I select "dottodot-full" from "Application name" # features/step_definitions/web_steps.rb:70 | |
And I press "generate" # features/step_definitions/web_steps.rb:27 | |
And I select "abc_pocketphonics-full" from "Application name" # features/step_definitions/web_steps.rb:70 | |
And I press "generate" # features/step_definitions/web_steps.rb:27 | |
And I select "dottodot-lite" from "Application name" # features/step_definitions/web_steps.rb:70 | |
And I press "generate" # features/step_definitions/web_steps.rb:27 | |
And I select "abc_pocketphonics-lite" from "Application name" # features/step_definitions/web_steps.rb:70 | |
And I press "generate" # features/step_definitions/web_steps.rb:27 | |
Scenario: Run Follow up Cron Task for Dtd # features/cron_features/cron.feature:71 | |
Given I have 2 DtdApp records with contacts # features/step_definitions/app_steps.rb:59 | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
When I run dtd_full on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
And I run dtd_full on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
Scenario: Run Follow up Cron Task for DTD lite # features/cron_features/cron.feature:77 | |
Given I have 2 DtdLiteApp records with contacts # features/step_definitions/app_steps.rb:68 | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
When I run dtd_lite on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
Scenario: Run Follow up Cron Task for pp # features/cron_features/cron.feature:82 | |
Given I have 2 ppApp records with contacts # features/step_definitions/app_steps.rb:76 | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
When I run pp_full on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
Scenario: Run Follow up Cron Task for lite # features/cron_features/cron.feature:87 | |
Given I have 2 ppLiteApp records with contacts # features/step_definitions/app_steps.rb:84 | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
When I run pp_lite on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
Scenario: Run Follow up Cron Task for free guide # features/cron_features/cron.feature:92 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am on the home page # features/step_definitions/web_steps.rb:19 | |
And I follow "Request free guide" # features/step_definitions/web_steps.rb:33 | |
And I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@example.org" # features/step_definitions/web_steps.rb:39 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
And all aimp contacts were created 2 days ago # features/step_definitions/aimp_contact_steps.rb:59 | |
When I run free_guide on FollowUpCron # features/step_definitions/cron_steps.rb:10 | |
Feature: CSV Email List Backup | |
In order to back up email lists | |
As a business owner | |
I want to back up | |
Background: # features/cron_features/csv_email_list.feature:6 | |
Given I have 10 AimpContact records # features/step_definitions/aimp_contact_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"aimp_contacts"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/aimp_contact_steps.rb:4 | |
./features/step_definitions/aimp_contact_steps.rb:3:in `times' | |
./features/step_definitions/aimp_contact_steps.rb:3:in `/^I have (\d+) AimpContact records$/' | |
features/cron_features/csv_email_list.feature:7:in `Given I have 10 AimpContact records' | |
Scenario: Backup method called when backup is set to true # features/cron_features/csv_email_list.feature:9 | |
Given there is a CsvEmailList with create_email_list set to "true" # features/step_definitions/csv_email_list_steps.rb:1 | |
When I call run the create_csv_email_list # features/step_definitions/csv_email_list_steps.rb:5 | |
Then the create_csv_email_list should exist # features/step_definitions/csv_email_list_steps.rb:9 | |
And then delete the create_csv_email_list file # features/step_definitions/csv_email_list_steps.rb:19 | |
Scenario: Backup method called when backup is set to false # features/cron_features/csv_email_list.feature:15 | |
Given there is a CsvEmailList with create_email_list set to "false" # features/step_definitions/csv_email_list_steps.rb:1 | |
When I call run the create_csv_email_list # features/step_definitions/csv_email_list_steps.rb:5 | |
Then the create_csv_email_list should not exist # features/step_definitions/csv_email_list_steps.rb:14 | |
Feature: Admin Edit | |
In order to perform administrative tasks | |
As an administrator | |
I want to be able to change my details if any change | |
Background: # features/website_features/admin_features/admin_edit.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/admin_features/admin_edit.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
Scenario: Successfully change user and sign out and in again # features/website_features/admin_features/admin_edit.feature:10 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
When I follow "John" # features/step_definitions/web_steps.rb:33 | |
And I fill in "First name" with "Jon" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email address" with "test@test.com" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as Jon" # features/step_definitions/web_steps.rb:107 | |
And I should see "User was successfully updated." # features/step_definitions/web_steps.rb:107 | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
When I sign out # features/step_definitions/clearance/clearance_steps.rb:95 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "test@test.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "You are logged in as Jon" # features/step_definitions/web_steps.rb:107 | |
Scenario: Cause an error and successfully rectify it # features/website_features/admin_features/admin_edit.feature:33 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
When I follow "John" # features/step_definitions/web_steps.rb:33 | |
And I fill in "First name" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
And I should see "Please complete the following fields." # features/step_definitions/web_steps.rb:107 | |
When I fill in "First name" with "Jon" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as Jon" # features/step_definitions/web_steps.rb:107 | |
And I should see "User was successfully updated." # features/step_definitions/web_steps.rb:107 | |
Then I should have 1 user in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 1 user_detail in the database # features/step_definitions/record_steps.rb:24 | |
And I should have 0 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: If user is deleted after they are logged in and they attempt to edit # features/website_features/admin_features/admin_edit.feature:53 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
When the admin with the email "john@example.com" is destroyed # features/step_definitions/admin_steps.rb:6 | |
And I follow "John" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Login" # features/step_definitions/web_steps.rb:107 | |
And I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Scenario: If user is deleted after they are logged in and they attempt to update # features/website_features/admin_features/admin_edit.feature:65 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "You are logged in as John" # features/step_definitions/web_steps.rb:107 | |
And I follow "John" # features/step_definitions/web_steps.rb:33 | |
When the admin with the email "john@example.com" is destroyed # features/step_definitions/admin_steps.rb:6 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Login" # features/step_definitions/web_steps.rb:107 | |
And I should be signed out # features/step_definitions/clearance/clearance_steps.rb:42 | |
Feature: Admin Login | |
In order to perform administrative tasks | |
As an administrator | |
I want to be able to log in securely | |
Background: # features/website_features/admin_features/admin_login.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/admin_features/admin_login.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
Scenario: Successful log in # features/website_features/admin_features/admin_login.feature:10 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
When I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "You are logged in as " # features/step_definitions/web_steps.rb:107 | |
Scenario: Failed log in - Admin doesn't exist # features/website_features/admin_features/admin_login.feature:18 | |
Given I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
When I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password." # features/step_definitions/web_steps.rb:107 | |
Scenario: Failed log in - Admin does exist - wrong password # features/website_features/admin_features/admin_login.feature:25 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
When I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password1" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password." # features/step_definitions/web_steps.rb:107 | |
Scenario: Failed log in - Admin does exist - wrong username # features/website_features/admin_features/admin_login.feature:33 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
When I fill in "Email" with "john1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password." # features/step_definitions/web_steps.rb:107 | |
Scenario: Failed log in - Admin does exist - wrong username and password # features/website_features/admin_features/admin_login.feature:41 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
When I fill in "Email" with "john1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password1" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Bad email or password." # features/step_definitions/web_steps.rb:107 | |
Scenario: Revisiting login after logging in # features/website_features/admin_features/admin_login.feature:49 | |
Given I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
Then I should not see "Login" # features/step_definitions/web_steps.rb:128 | |
And I should see "You are logged in as " # features/step_definitions/web_steps.rb:107 | |
Feature: Admin Logout | |
In order to secure the details of contacts and sensitive information | |
As an administrator | |
I want to be able to log out | |
Background: # features/website_features/admin_features/admin_logout.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/admin_features/admin_logout.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
Scenario: Successful log out # features/website_features/admin_features/admin_logout.feature:10 | |
Given there is an Admin with credentials "john@example.com/password" # features/step_definitions/admin_steps.rb:1 | |
And I go to the admin login screen # features/step_definitions/web_steps.rb:23 | |
And I fill in "Email" with "john@example.com" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Password" with "password" # features/step_definitions/web_steps.rb:39 | |
And I press "Login" # features/step_definitions/web_steps.rb:27 | |
And I should see "Logout" # features/step_definitions/web_steps.rb:107 | |
When I follow "Logout" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Login" # features/step_definitions/web_steps.rb:107 | |
And I should see "Email" # features/step_definitions/web_steps.rb:107 | |
And I should see "Password" # features/step_definitions/web_steps.rb:107 | |
Feature: Consolidate Contacts | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/admin_features/consolidate_contact.feature:6 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/admin_features/consolidate_contact.feature:8:in `And all emails are set up' | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
And all countries are set up # features/step_definitions/email_steps.rb:13 | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
| 208058 | | |
And the following app: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | device_id | | |
| 888999 | 299342927 | 208057 | | |
| 889000 | 333210438 | 208057 | | |
| 889001 | 333210438 | 208058 | | |
Scenario: Create two contacts from the same device and two different apps and then one from the contact form # features/website_features/admin_features/consolidate_contact.feature:22 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Then I should have 1 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>889000</app-id></aimp-contact> | |
""" | |
Then I should have 2 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the support page # features/step_definitions/web_steps.rb:23 | |
And I fill in "First Name:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Your Email:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I choose "Bug report" # features/step_definitions/web_steps.rb:88 | |
And I fill in "Subject:" with "Help me" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Message:" with "My iPhone won't switch on" # features/step_definitions/web_steps.rb:39 | |
And I press "Send" # features/step_definitions/web_steps.rb:27 | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: Multiple ConsolidateContacts generated # features/website_features/admin_features/consolidate_contact.feature:47 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Then I should have 1 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.com</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208058</device-id><app-id>889001</app-id></aimp-contact> | |
""" | |
Then I should have 2 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Then I should have 2 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the support page # features/step_definitions/web_steps.rb:23 | |
And I fill in "First Name:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Your Email:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I choose "Bug report" # features/step_definitions/web_steps.rb:88 | |
And I fill in "Subject:" with "Help me" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Message:" with "My iPhone won't switch on" # features/step_definitions/web_steps.rb:39 | |
And I press "Send" # features/step_definitions/web_steps.rb:27 | |
Then I should have 2 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Manage Aimp Emails | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/aimp_emails_devices.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/aimp_emails_devices.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
And I have a device with an id 208057 # features/step_definitions/manage_device_steps.rb:1 | |
And I have an app with an id 6827819 # features/step_definitions/app_steps.rb:20 | |
Given the following aimp_email: # features/step_definitions/record_steps.rb:1 | |
| iphone_o_s | sent_status | to_recipients | body | subject | created_by_contact_id | from | device_id | app_id | message_type | | |
| 4.3.2 | 3 | andrew@chalkley.org | dummy body for rails | Your free guide to teaching your child to read using phonics | 10915 | aimpsupport@appsinmypocket.com | 208057 | 6827819 | 3 | | |
Scenario: Show # features/website_features/aimp_emails_devices.feature:16 | |
Given I am on the aimp emails page # features/step_definitions/web_steps.rb:19 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "andrew@chalkley.org" # features/step_definitions/web_steps.rb:107 | |
And I should see "dummy body for rails" # features/step_definitions/web_steps.rb:107 | |
And I should see "Your free guide to teaching your child to read using phonics" # features/step_definitions/web_steps.rb:107 | |
And I should see "aimpsupport@appsinmypocket.com" # features/step_definitions/web_steps.rb:107 | |
Feature: Consolidate Contact | |
In order to [] | |
As [] | |
They [] | |
Background: # features/website_features/consolidated_contact.feature:6 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/consolidated_contact.feature:8:in `And all emails are set up' | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
And the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And all countries are set up # features/step_definitions/email_steps.rb:13 | |
And the following device_masters: # features/step_definitions/record_steps.rb:1 | |
| model_type | description | | |
| iPhone1,1 | Original iPhone | | |
And the following free_guide_file: # features/step_definitions/record_steps.rb:1 | |
| file_name | | |
| random_pdf_name.pdf | | |
Scenario: Register for updates # features/website_features/consolidated_contact.feature:21 | |
Given the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/devices.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<device> | |
<apple-device-id>C71A2214-30C4-5C35-A6D7-8484054AB7E9</apple-device-id> | |
<created-at type="datetime">2011-10-05T09:21:19Z</created-at> | |
<i-phone-o-s-version>5.0</i-phone-o-s-version> | |
<updated-at type="datetime">2011-10-05T09:21:19Z</updated-at> | |
<id type="integer">1</id> | |
<model-type>x86_64</model-type> | |
<locale>en_US</locale> | |
</device> | |
""" | |
When I send a POST request to "/apps.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<app> | |
<first-launch-date type="datetime">2011-10-04T23:00:00Z</first-launch-date> | |
<name>PocketPhonic</name> | |
<apple-app-id>299342927</apple-app-id> | |
<created-at type="datetime">2011-10-05T09:21:19Z</created-at> | |
<updated-at type="datetime">2011-10-05T09:21:19Z</updated-at> | |
<id type="integer">1</id> | |
<device-id type="integer">1</device-id> | |
<version>1.4</version> | |
<is-lite type="boolean">false</is-lite> | |
<number-of-launches type="integer">4</number-of-launches> | |
</app> | |
""" | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact> | |
<created-at type="datetime">2011-10-05T09:21:20Z</created-at> | |
<activation-code>5689b72520aae203059f9d0f61a529ef1eb681ef</activation-code> | |
<app-id>1</app-id> | |
<contact-type type="integer">1</contact-type> | |
<free-guide-request type="boolean" nil="true" /> | |
<id type="integer">1</id> | |
<device-id>1</device-id> | |
<last-name>Chalkley</last-name> | |
<email-address>andrew@chalkley.org</email-address> | |
<locale>en_US</locale> | |
<email-permission type="boolean">true</email-permission> | |
<source type="integer">0</source> | |
<email-address-confirmed type="boolean">false</email-address-confirmed> | |
<first-name>Andrew</first-name> | |
</aimp-contact> | |
""" | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
When I send a PUT request to "/aimp_contacts/1.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:31 | |
""" | |
<aimp-contact> | |
<source>0</source> | |
<email-address>andrew@chalkley.org</email-address> | |
<last-name>Chalkley</last-name> | |
<locale>en_US</locale> | |
<free-guide-request /> | |
<contact-type>1</contact-type> | |
<first-name>Andrew</first-name> | |
<email-address-confirmed>false</email-address-confirmed> | |
<activation-code>5689b72520aae203059f9d0f61a529ef1eb681ef</activation-code> | |
<email-permission type="integer">1</email-permission> | |
<device-id>1</device-id> | |
<app-id>1</app-id> | |
</aimp-contact> | |
""" | |
When I send a POST request to "/aimp_emails.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-email> | |
<message-sent-at /> | |
<iphone-o-s>5.0</iphone-o-s> | |
<sent-status type="integer">3</sent-status> | |
<to-recipients>andrew@chalkley.org</to-recipients> | |
<body>dummy body for rails</body> | |
<bcc-recipients /> | |
<cc-recipients /> | |
<created-by-contact-id>1</created-by-contact-id> | |
<from>aimpsupport@appsinmypocket.com</from> | |
<device-id>1</device-id> | |
<subject>Your free guide to teaching your child to read using phonics</subject> | |
<app-id>1</app-id> | |
<message-type type="integer">3</message-type> | |
</aimp-email> | |
""" | |
When I send a GET request to "/aimp_emails/deliver/1.xml" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the homepage # features/step_definitions/web_steps.rb:23 | |
And I fill in "First Name*" with "Andy" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I check "dtd Lite" # features/step_definitions/web_steps.rb:76 | |
And I check "pp Full" # features/step_definitions/web_steps.rb:76 | |
And I check "pp Lite" # features/step_definitions/web_steps.rb:76 | |
And I choose "free_guide_request_false" # features/step_definitions/web_steps.rb:88 | |
And I choose "email_permission_false" # features/step_definitions/web_steps.rb:88 | |
When I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should have 1 consolidated_contact in the database # features/step_definitions/record_steps.rb:24 | |
Feature: CSV Email List Backup | |
In order to back up email lists | |
As a business owner | |
I want to back up | |
Background: # features/website_features/download_csv.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/download_csv.feature:7:in `Given all emails are set up' | |
Given I have 10 AimpContact records # features/step_definitions/aimp_contact_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Download Backed up CSV # features/website_features/download_csv.feature:11 | |
Given there is a CsvEmailList with create_email_list set to "true" # features/step_definitions/csv_email_list_steps.rb:1 | |
When I call run the create_csv_email_list # features/step_definitions/csv_email_list_steps.rb:5 | |
Then the create_csv_email_list should exist # features/step_definitions/csv_email_list_steps.rb:9 | |
When I visit the download path for the csv email list # features/step_definitions/csv_email_list_steps.rb:25 | |
Then I should have been redirected to the aws path for the csv email list # features/step_definitions/csv_email_list_steps.rb:36 | |
And then delete the create_csv_email_list file # features/step_definitions/csv_email_list_steps.rb:19 | |
Scenario: Download CSV that's not there # features/website_features/download_csv.feature:19 | |
When I visit the download path for the csv email list # features/step_definitions/csv_email_list_steps.rb:25 | |
Then I should see "File can't be found." # features/step_definitions/web_steps.rb:107 | |
Scenario: Download CSV without file name # features/website_features/download_csv.feature:23 | |
When I go to the csvs download page # features/step_definitions/web_steps.rb:23 | |
Then I should see "We're sorry. The Web address you entered is not a functioning page on our site." # features/step_definitions/web_steps.rb:107 | |
Feature: Email Management | |
In order to communicate various messages | |
As an admin | |
I want the ability to go update emails and adapt them when I see fit | |
Background: # features/website_features/email_management.feature:7 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/email_management.feature:8:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario Outline: Visiting the index paths # features/website_features/email_management.feature:12 | |
When I go to the <path> page # features/step_definitions/web_steps.rb:23 | |
Then I should see "<title>" # features/step_definitions/web_steps.rb:107 | |
Examples: | |
| path | title | | |
| confirm_user_emails | Editing Confirm User Email Address Email | | |
| track_player_invitation_emails | Editing Track Player Invitation Email | | |
Scenario Outline: Edit registration/free_guide/join/leave/track Emails Content # features/website_features/email_management.feature:20 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
Given I follow "Email Mgt" # features/step_definitions/web_steps.rb:33 | |
And I follow "<follow>" # features/step_definitions/web_steps.rb:33 | |
Then I should see "<title>" # features/step_definitions/web_steps.rb:107 | |
When I fill in "Subject:" with "New Subject" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Body:" with "New Body" # features/step_definitions/web_steps.rb:39 | |
When I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "<success>" # features/step_definitions/web_steps.rb:107 | |
When I go to the new <model> page # features/step_definitions/web_steps.rb:23 | |
Then I should see "<title>" # features/step_definitions/web_steps.rb:107 | |
When I fill in "Subject:" with "" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Body:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Subject can't be blank" # features/step_definitions/web_steps.rb:107 | |
And I should see "Body can't be blank" # features/step_definitions/web_steps.rb:107 | |
Examples: | |
| model | follow | title | success | | |
| registration_email | Registration | Editing Registration Email Content | RegistrationEmail was successfully updated. | | |
| free_guide_email | Free Guide | Editing Free Guide Email Content | FreeGuideEmail was successfully updated. | | |
| join_organisation_email | Join Organisation Email | Editing Join Organisation Email | Join organisation email was successfully updated. | | |
| leave_organisation_email | Leave Organisation Email | Editing Leave Organisation Email | Leave organisation email was successfully updated. | | |
| track_player_invitation_email | Track Player Invite Email | Editing Track Player Invitation Email | Track player invitation email was successfully updated. | | |
| confirm_user_email | Confirm User Email | Editing Confirm User Email Address Email | Confirm user email address email was successfully updated. | | |
Scenario Outline: Edit Follow Up Emails Emails Content # features/website_features/email_management.feature:45 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
Given I follow "Email Mgt" # features/step_definitions/web_steps.rb:33 | |
And I follow "<follow>" # features/step_definitions/web_steps.rb:33 | |
Then I should see "<title>" # features/step_definitions/web_steps.rb:107 | |
When I fill in "Subject:" with "New Subject" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Body:" with "New Body" # features/step_definitions/web_steps.rb:39 | |
When I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "<success>" # features/step_definitions/web_steps.rb:107 | |
When I go to the new <model> page # features/step_definitions/web_steps.rb:23 | |
Then I should see "<title>" # features/step_definitions/web_steps.rb:107 | |
When I fill in "Subject:" with "" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Body:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Email subject can't be blank" # features/step_definitions/web_steps.rb:107 | |
And I should see "Email content can't be blank" # features/step_definitions/web_steps.rb:107 | |
Examples: | |
| model | follow | title | success | | |
| follow_up_email_for_free_guide | Follow Up Email For Free Guide | Editing Follow Up Email For Free Guide Content | FollowUpEmailForFreeGuide was successfully updated. | | |
| follow_up_email_for_pp | Follow Up Email For Pocket Phonics | Editing Follow Up Email For Pocket Phonics ( Full Version ) | FollowUpEmailForPp was successfully updated. | | |
| follow_up_email_for_dtd | Follow Up Email For Dot to Dot | Editing Follow Up Email For Dot to Dot ( Full Version ) | FollowUpEmailForDtd was successfully updated. | | |
Scenario: Edit Follow Up Emails Emails Content # features/website_features/email_management.feature:67 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
And the following follow_up_email_for_pp: # features/step_definitions/record_steps.rb:1 | |
| email_subject | email_content | for_lite_pp | | |
| Lite Subject | Lite Content | true | | |
And the following follow_up_email_for_dtd: # features/step_definitions/record_steps.rb:1 | |
| email_subject | email_content | for_lite_dtd | | |
| Lite Subject | Lite Content | true | | |
And I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
And I follow "Email Mgt" # features/step_definitions/web_steps.rb:33 | |
When I go to the follow up email for pp with lite page # features/step_definitions/web_steps.rb:23 | |
Then I should see "Editing Follow Up Email For Pocket Phonics ( Lite Version )" # features/step_definitions/web_steps.rb:107 | |
When I go to the follow up email for dtd with lite page # features/step_definitions/web_steps.rb:23 | |
Then I should see "Editing Follow Up Email For Dot to Dot ( Lite Version )" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage Follow Up Histories | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/follow_up_histories.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/follow_up_histories.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: List Followup # features/website_features/follow_up_histories.feature:11 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
When I follow "Follow Up" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Follow Up Histories" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage aimp_adverts | |
In order to communicate messages to existing customers | |
As an admin | |
I want the ability to create and update adverts | |
Background: # features/website_features/manage_aimp_adverts.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_aimp_adverts.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Register new aimp_advert # features/website_features/manage_aimp_adverts.feature:11 | |
Given I am on the new aimp_advert page # features/step_definitions/web_steps.rb:19 | |
When I select "always available" from "Available when" # features/step_definitions/web_steps.rb:70 | |
And I select "1" from "Weighting" # features/step_definitions/web_steps.rb:70 | |
And I fill in "Image name" with "image_name 1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Number of images" with "1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Action" with "action 1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Duration of animation" with "1.1" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Available When: always available" # features/step_definitions/web_steps.rb:107 | |
And I should see "Weighting: 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "Image Sequence Name: image_name 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "Number Of Images: 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "action 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "Duration of animation: 1.1" # features/step_definitions/web_steps.rb:107 | |
Scenario: Register an invalid new aimp_advert # features/website_features/manage_aimp_adverts.feature:27 | |
Given I am on the new aimp_advert page # features/step_definitions/web_steps.rb:19 | |
When I select "always available" from "Available when" # features/step_definitions/web_steps.rb:70 | |
And I select "1" from "Weighting" # features/step_definitions/web_steps.rb:70 | |
And I fill in "Image name" with "image_nameimage_nameimage_name123" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Number of images" with "100" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Action" with "action 1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Duration of animation" with "1.1" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Number of images must be less than or equal to 10" # features/step_definitions/web_steps.rb:107 | |
And I should see "Image name is too long (maximum is 32 characters)" # features/step_definitions/web_steps.rb:107 | |
Scenario: Delete aimp_advert # features/website_features/manage_aimp_adverts.feature:39 | |
Given the following aimp_adverts: # features/step_definitions/record_steps.rb:1 | |
| available_when | weighting | image_name | number_of_images | number_of_clicks | action | animation_duration | | |
| 12 | 1 | image_name 1 | 1 | 100 | action 1 | 1.0 | | |
| 2 | 2 | image_name 2 | 2 | 200 | action 2 | 2.0 | | |
| 3 | 3 | image_name 3 | 3 | 300 | action 3 | 3.0 | | |
| 4 | 4 | image_name 4 | 4 | 400 | action 4 | 4.0 | | |
When I delete the 3rd aimp_advert # features/step_definitions/aimp_advert_steps.rb:1 | |
Then I should see "image_name 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "image_name 2" # features/step_definitions/web_steps.rb:107 | |
And I should see "image_name 4" # features/step_definitions/web_steps.rb:107 | |
And I should not see "image_name 3" # features/step_definitions/web_steps.rb:128 | |
Scenario: Edit aimp_advert # features/website_features/manage_aimp_adverts.feature:52 | |
Given the following aimp_adverts: # features/step_definitions/record_steps.rb:1 | |
| available_when | weighting | image_name | number_of_images | number_of_clicks | action | animation_duration | | |
| 1 | 1 | image_name 1 | 1 | 100 | action 1 | 1.0 | | |
And I am on the aimp adverts page # features/step_definitions/web_steps.rb:19 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "Image name" with "image_name 2" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should not see "image_name 1" # features/step_definitions/web_steps.rb:128 | |
And I should see "image_name 2" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit aimp_advert with invalid data # features/website_features/manage_aimp_adverts.feature:63 | |
Given the following aimp_adverts: # features/step_definitions/record_steps.rb:1 | |
| available_when | weighting | image_name | number_of_images | number_of_clicks | action | animation_duration | | |
| 1 | 1 | image_name 1 | 1 | 100 | action 1 | 1.0 | | |
And I am on the aimp adverts page # features/step_definitions/web_steps.rb:19 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "Image name" with "image_nameimage_nameimage_name123" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Number of images" with "100" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Number of images must be less than or equal to 10" # features/step_definitions/web_steps.rb:107 | |
And I should see "Image name is too long (maximum is 32 characters)" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage Aimp Contacts | |
In order to [] | |
As [] | |
They [] | |
Background: # features/website_features/manage_aimp_contact.feature:6 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_aimp_contact.feature:8:in `And all emails are set up' | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
And the following app: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | device_id | | |
| 888999 | 299342927 | 208057 | | |
Scenario: Destroy contact # features/website_features/manage_aimp_contact.feature:17 | |
Given I am in the mobile client # features/step_definitions/user_agent_steps.rb:9 | |
And I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/aimp_contacts.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<aimp-contact><source type="integer">0</source><email-address>andrew@chalkley.org</email-address><last-name>Chalkley</last-name><locale>en_US</locale><free-guide-request /><contact-type type="integer">1</contact-type><first-name>Andrew</first-name><email-address-confirmed type="integer">0</email-address-confirmed><activation-code /><email-permission type="integer">1</email-permission><device-id>208057</device-id><app-id>888999</app-id></aimp-contact> | |
""" | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
When I go to the aimp_contacts page # features/step_definitions/web_steps.rb:23 | |
And follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should have 0 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: New Contact # features/website_features/manage_aimp_contact.feature:29 | |
Given I am on the aimp_contacts page # features/step_definitions/web_steps.rb:19 | |
When I follow "New Contact" # features/step_definitions/web_steps.rb:33 | |
And fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I choose "PocketPhonics lite" # features/step_definitions/web_steps.rb:88 | |
And I choose "free_guide_request_false" # features/step_definitions/web_steps.rb:88 | |
When I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should have 1 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Scenario: New Contact with Free Guide # features/website_features/manage_aimp_contact.feature:41 | |
Given the following free_guide_file: # features/step_definitions/record_steps.rb:1 | |
| file_name | | |
| pph.pdf | | |
Given I am on the aimp_contacts page # features/step_definitions/web_steps.rb:19 | |
When I follow "New Contact" # features/step_definitions/web_steps.rb:33 | |
And fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I choose "PocketPhonics lite" # features/step_definitions/web_steps.rb:88 | |
And I choose "free_guide_request_true" # features/step_definitions/web_steps.rb:88 | |
When I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should have 1 aimp_contact in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Manage In App Messages | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/manage_aimp_in_app_messages.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_aimp_in_app_messages.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Given the following app_masters: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | name | full_name | latest_version | is_lite | | |
| 333188500 | dtd full | dtd full | 1 | false | | |
| 333210438 | dtd lite | dtd lite | 1 | true | | |
| 299342927 | pp full | pp full | 1 | false | | |
| 302689971 | pp lite | pp lite | 1 | true | | |
Scenario: Create aimp_in_app_message # features/website_features/manage_aimp_in_app_messages.feature:17 | |
Given I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
When I follow "Add New Application" # features/step_definitions/web_steps.rb:33 | |
And I select "333188500 - dtd full" from "Apple App Id:" # features/step_definitions/web_steps.rb:70 | |
And I fill in "Name:" with "DTD" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Version:" with "1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Message:" with "Message" # features/step_definitions/web_steps.rb:39 | |
And I press "Save" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Applcation was successfully created." # features/step_definitions/web_steps.rb:107 | |
Scenario: Create invalid aimp_in_app_message # features/website_features/manage_aimp_in_app_messages.feature:27 | |
Given I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
When I follow "Add New Application" # features/step_definitions/web_steps.rb:33 | |
And I press "Save" # features/step_definitions/web_steps.rb:27 | |
Then I should not see "Applcation was successfully created." # features/step_definitions/web_steps.rb:128 | |
Scenario: Visit aimp_in_app_message when it's destroyed # features/website_features/manage_aimp_in_app_messages.feature:33 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
When aimp in app message 10001 gets destroyed # features/step_definitions/app_message_steps.rb:1 | |
And I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Can't find AimpInAppMessage with ID=10001" # features/step_definitions/web_steps.rb:107 | |
Scenario: Destroy aimp_in_app_message # features/website_features/manage_aimp_in_app_messages.feature:42 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
And I should see "333188500" # features/step_definitions/web_steps.rb:107 | |
And I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should see "List of Application Version" # features/step_definitions/web_steps.rb:107 | |
And I should not see "333188500" # features/step_definitions/web_steps.rb:128 | |
Scenario: Destroy aimp_in_app_message when it's destroyed # features/website_features/manage_aimp_in_app_messages.feature:52 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
When aimp in app message 10001 gets destroyed # features/step_definitions/app_message_steps.rb:1 | |
And I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Can't find AimpInAppMessage with ID=10001" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit aimp_in_app_message # features/website_features/manage_aimp_in_app_messages.feature:61 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "Name:" with "DTD Full" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "DTD Full" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit aimp_in_app_message # features/website_features/manage_aimp_in_app_messages.feature:71 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "Name:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Name can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit aimp_in_app_message when it's destroyed # features/website_features/manage_aimp_in_app_messages.feature:81 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
When aimp in app message 10001 gets destroyed # features/step_definitions/app_message_steps.rb:1 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Can't find AimpInAppMessage with ID=10001" # features/step_definitions/web_steps.rb:107 | |
Scenario: Update aimp_in_app_message when it's destroyed # features/website_features/manage_aimp_in_app_messages.feature:90 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And I am on the aimp in app messages page # features/step_definitions/web_steps.rb:19 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
When I fill in "Name:" with "DTD Full" # features/step_definitions/web_steps.rb:39 | |
And aimp in app message 10001 gets destroyed # features/step_definitions/app_message_steps.rb:1 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Can't find AimpInAppMessage with ID=10001" # features/step_definitions/web_steps.rb:107 | |
Scenario: Latest message w/o params # features/website_features/manage_aimp_in_app_messages.feature:101 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
When I go to the latest message aimp in app messages page # features/step_definitions/web_steps.rb:23 | |
Then I should see "Bad params" # features/step_definitions/web_steps.rb:107 | |
Scenario: Latest message w/ params # features/website_features/manage_aimp_in_app_messages.feature:108 | |
Given the following aimp_in_app_messages: # features/step_definitions/record_steps.rb:1 | |
| id | apple_app_id | name | version | message | | |
| 10001 | 333188500 | DTD | 1 | Message | | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
And the following dtd_full: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 132111 | | |
And the following aimp_contact: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 100012 | | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a GET request to "/aimp_in_app_messages/latest_message?app_id=132111&device_id=208057&contact_id=100012" # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:19 | |
Feature: Manage Apps | |
In order to [] | |
As an [] | |
I want to [] | |
Background: # features/website_features/manage_app.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_app.feature:7:in `Given all emails are set up' | |
Given I have a device with an id 208057 # features/step_definitions/manage_device_steps.rb:1 | |
Scenario: Edit # features/website_features/manage_app.feature:10 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/apps.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<app><first-launch-date type="datetime">2011-07-15</first-launch-date><number-of-launches type="integer">1</number-of-launches><is-lite type="integer">0</is-lite><version>1.4</version><apple-app-id>299342927</apple-app-id><name>PocketPhonic</name><device-id>208057</device-id></app> | |
""" | |
Then I should have 1 app in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the apps page # features/step_definitions/web_steps.rb:23 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And fill in "Name" with "Pocket Phonics" # features/step_definitions/web_steps.rb:39 | |
When I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Pocket Phonics" # features/step_definitions/web_steps.rb:107 | |
Scenario: Destroy # features/website_features/manage_app.feature:25 | |
Given I send and accept XML # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:5 | |
When I send a POST request to "/apps.xml" with the following: # cucumber-api-steps-0.4/lib/cucumber/api_steps.rb:27 | |
""" | |
<app><first-launch-date type="datetime">2011-07-15</first-launch-date><number-of-launches type="integer">1</number-of-launches><is-lite type="integer">0</is-lite><version>1.4</version><apple-app-id>299342927</apple-app-id><name>PocketPhonic</name><device-id>208057</device-id></app> | |
""" | |
Then I should have 1 app in the database # features/step_definitions/record_steps.rb:24 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
When I go to the apps page # features/step_definitions/web_steps.rb:23 | |
And I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should have 0 apps in the database # features/step_definitions/record_steps.rb:24 | |
Feature: Manage app_masters | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/manage_app_masters.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_app_masters.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Register new app_master # features/website_features/manage_app_masters.feature:11 | |
Given I am on the new app_master page # features/step_definitions/web_steps.rb:19 | |
When I fill in "Apple app" with "apple_app_id 1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Name" with "name 1" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Latest version" with "latest_version 1" # features/step_definitions/web_steps.rb:39 | |
And I uncheck "Is lite" # features/step_definitions/web_steps.rb:82 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "apple_app_id 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "name 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "latest_version 1" # features/step_definitions/web_steps.rb:107 | |
And I should see "false" # features/step_definitions/web_steps.rb:107 | |
Scenario: Delete app_master # features/website_features/manage_app_masters.feature:23 | |
Given the following app_masters: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | name | full_name | latest_version | is_lite | | |
| apple_app_id 1 | name 1 | full name 1 | latest_version 1 | false | | |
And I am on the app masters page # features/step_definitions/web_steps.rb:19 | |
When I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should not see "apple_app_id 1" # features/step_definitions/web_steps.rb:128 | |
Scenario: Edit app_master # features/website_features/manage_app_masters.feature:31 | |
Given the following app_masters: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | name | full_name | latest_version | is_lite | | |
| apple_app_id 1 | name 1 | full name 1 | latest_version 1 | false | | |
And I am on the App Masters page # features/step_definitions/web_steps.rb:19 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Apple app" with "apple_app_id 2" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Name" with "2name" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Full name" with "full name 2" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Latest version" with "latest_version 2" # features/step_definitions/web_steps.rb:39 | |
And I check "Is lite" # features/step_definitions/web_steps.rb:76 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "apple_app_id 2" # features/step_definitions/web_steps.rb:107 | |
And I should see "2name" # features/step_definitions/web_steps.rb:107 | |
And I should see "full name 2" # features/step_definitions/web_steps.rb:107 | |
And I should see "latest_version 2" # features/step_definitions/web_steps.rb:107 | |
And I should see "true" # features/step_definitions/web_steps.rb:107 | |
Scenario: Display Name with Full Name Populated # features/website_features/manage_app_masters.feature:49 | |
Given the following app_masters: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | name | full_name | latest_version | is_lite | | |
| apple_app_id 1 | name 1 | full name 1 | latest_version 1 | false | | |
Then the app_master display name should be "full name 1" # features/step_definitions/app_master_steps.rb:14 | |
Scenario: Display Name with Full Name Not Populated # features/website_features/manage_app_masters.feature:55 | |
Given the following app_masters: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | name | latest_version | is_lite | | |
| apple_app_id 1 | name 1 | latest_version 1 | false | | |
Then the app_master display name should be "name 1" # features/step_definitions/app_master_steps.rb:14 | |
Feature: Manage Contacts | |
In order to [] | |
As [] | |
They [] | |
Background: # features/website_features/manage_contact.feature:7 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_contact.feature:9:in `And all emails are set up' | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
And I have all the apps set up # features/step_definitions/app_steps.rb:1 | |
And the following free_guide_file: # features/step_definitions/record_steps.rb:1 | |
| file_name | | |
| pph.pdf | | |
And the following device: # features/step_definitions/record_steps.rb:1 | |
| id | | |
| 208057 | | |
Scenario: Create Contact Blank App Ids # features/website_features/manage_contact.feature:19 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "contact_accept_privacy" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Your free guide has been emailed to the address you entered (andrew@chalkley.org)" # features/step_definitions/web_steps.rb:107 | |
Scenario: Create Contact # features/website_features/manage_contact.feature:29 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
And the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.com" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Your free guide has been emailed to the address you entered (andrew@chalkley.com)" # features/step_definitions/web_steps.rb:107 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
And I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Andrew Chalkley" # features/step_definitions/web_steps.rb:107 | |
Scenario: Create invalid contact # features/website_features/manage_contact.feature:48 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
And the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Last name can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit Contact # features/website_features/manage_contact.feature:64 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
And the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
And I should see "Andrew Chalkley" # features/step_definitions/web_steps.rb:107 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Last Name*:" with "Chalkers" # features/step_definitions/web_steps.rb:39 | |
When I press "Update" # features/step_definitions/web_steps.rb:27 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
Then I should see "Andrew Chalkers" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit When Contact is Invalid # features/website_features/manage_contact.feature:86 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
And the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
And I should see "Andrew Chalkley" # features/step_definitions/web_steps.rb:107 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Last Name*:" with "" # features/step_definitions/web_steps.rb:39 | |
When I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Last name can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Destroy Contact # features/website_features/manage_contact.feature:107 | |
Given I am on the new contact page # features/step_definitions/web_steps.rb:19 | |
And the following aimp_in_app_message: # features/step_definitions/record_steps.rb:1 | |
| apple_app_id | message | | |
| 333188500 | dtd_full message | | |
| 333210438 | dtd_lite message | | |
| 299342927 | abcPocketPhonics_full message | | |
| 302689971 | abcPocketPhonics_lite message | | |
When I fill in "First Name*:" with "Andrew" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Last Name*:" with "Chalkley" # features/step_definitions/web_steps.rb:39 | |
And I fill in "Email Address*:" with "andrew@chalkley.org" # features/step_definitions/web_steps.rb:39 | |
And I select "United Kingdom" from "Country:" # features/step_definitions/web_steps.rb:70 | |
And I check "dtd Full" # features/step_definitions/web_steps.rb:76 | |
And I press "Submit" # features/step_definitions/web_steps.rb:27 | |
And I delete the last contact # features/step_definitions/aimp_contact_steps.rb:12 | |
Given I am on the contacts page # features/step_definitions/web_steps.rb:19 | |
Then I should not see "Andrew Chalkley" # features/step_definitions/web_steps.rb:128 | |
Feature: Manage Master Devices | |
In order to [goal] | |
[stakeholder] | |
wants [behaviour] | |
Background: # features/website_features/manage_device_masters.feature:6 | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_device_masters.feature:8:in `And all emails are set up' | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Create Master Device # features/website_features/manage_device_masters.feature:11 | |
When I follow "Device List" # features/step_definitions/web_steps.rb:33 | |
And follow "New Device" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Model type:" with "iPhone1,1" # features/step_definitions/web_steps.rb:39 | |
And fill in "Description:" with "Original iPhone" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "iPhone1,1" # features/step_definitions/web_steps.rb:107 | |
Then I should see "Original iPhone" # features/step_definitions/web_steps.rb:107 | |
When I follow "Back" # features/step_definitions/web_steps.rb:33 | |
Then I should see "iPhone1,1" # features/step_definitions/web_steps.rb:107 | |
Then I should see "Original iPhone" # features/step_definitions/web_steps.rb:107 | |
Scenario: Create Invalid Master Device # features/website_features/manage_device_masters.feature:23 | |
When I follow "Device List" # features/step_definitions/web_steps.rb:33 | |
And follow "New Device" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Model type:" with "" # features/step_definitions/web_steps.rb:39 | |
And fill in "Description:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Model type can't be blank" # features/step_definitions/web_steps.rb:107 | |
And I should see "Description can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit Master Device # features/website_features/manage_device_masters.feature:32 | |
Given the following device_masters: # features/step_definitions/record_steps.rb:1 | |
| model_type | description | | |
| iPhone1,1 | Original iPhone | | |
When I follow "Device List" # features/step_definitions/web_steps.rb:33 | |
And follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Model type:" with "iPhone2,1" # features/step_definitions/web_steps.rb:39 | |
And fill in "Description:" with "iPhone 3G" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should not see "iPhone1,1" # features/step_definitions/web_steps.rb:128 | |
Then I should not see "Original iPhone" # features/step_definitions/web_steps.rb:128 | |
Then I should see "iPhone2,1" # features/step_definitions/web_steps.rb:107 | |
Then I should see "iPhone 3G" # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit Master Device - Invalid # features/website_features/manage_device_masters.feature:46 | |
Given the following device_masters: # features/step_definitions/record_steps.rb:1 | |
| model_type | description | | |
| iPhone1,1 | Original iPhone | | |
When I follow "Device List" # features/step_definitions/web_steps.rb:33 | |
And follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "Model type:" with "" # features/step_definitions/web_steps.rb:39 | |
And fill in "Description:" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Model type can't be blank" # features/step_definitions/web_steps.rb:107 | |
And I should see "Description can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Destroy Master Device # features/website_features/manage_device_masters.feature:58 | |
Given the following device_masters: # features/step_definitions/record_steps.rb:1 | |
| model_type | description | | |
| iPhone1,1 | Original iPhone | | |
When I follow "Device List" # features/step_definitions/web_steps.rb:33 | |
And follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should not see "iPhone1,1" # features/step_definitions/web_steps.rb:128 | |
Then I should not see "Original iPhone" # features/step_definitions/web_steps.rb:128 | |
Feature: Manage Devices | |
In order to modify devices | |
As an admin | |
I want the ability to go in and update and destroy devices | |
Background: # features/website_features/manage_devices.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_devices.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Edit Device # features/website_features/manage_devices.feature:11 | |
Given the following devices: # features/step_definitions/record_steps.rb:1 | |
| model_type | | |
| iphone1,1 | | |
And I am on the devices page # features/step_definitions/web_steps.rb:19 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
And I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And fill in "Model type" with "iphone1,2" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "iphone1,2" # features/step_definitions/web_steps.rb:107 | |
Feature: Manage Os iPhones | |
In order to support customers on new iPhone OSes | |
As an administrator | |
I want to be able to add new iOS versions | |
Background: # features/website_features/manage_os_iphones.feature:6 | |
Given all emails are set up # features/step_definitions/email_steps.rb:1 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull | |
FROM pg_attribute a LEFT JOIN pg_attrdef d | |
ON a.attrelid = d.adrelid AND a.attnum = d.adnum | |
WHERE a.attrelid = '"registration_emails"'::regclass | |
AND a.attnum > 0 AND NOT a.attisdropped | |
ORDER BY a.attnum | |
(ActiveRecord::StatementInvalid) | |
./features/step_definitions/email_steps.rb:2:in `/^all emails are set up$/' | |
features/website_features/manage_os_iphones.feature:7:in `Given all emails are set up' | |
Given I am in a web browser # features/step_definitions/user_agent_steps.rb:1 | |
And I am logged in as an admin # features/step_definitions/admin_steps.rb:10 | |
Scenario: Register new os_iphone # features/website_features/manage_os_iphones.feature:11 | |
Given I am on the new iPhone OS page # features/step_definitions/web_steps.rb:19 | |
When I fill in "iPhone OS Version:*" with "version 1" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "version 1" # features/step_definitions/web_steps.rb:107 | |
Scenario: Register new os_iphone invalid # features/website_features/manage_os_iphones.feature:17 | |
Given I am on the new iPhone OS page # features/step_definitions/web_steps.rb:19 | |
When I fill in "iPhone OS Version:*" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Create" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Version can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Delete os_iphone # features/website_features/manage_os_iphones.feature:23 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1.1 | | |
And I am on the os iphones page # features/step_definitions/web_steps.rb:19 | |
When I follow "Destroy" # features/step_definitions/web_steps.rb:33 | |
Then I should not see "version 1.1" # features/step_definitions/web_steps.rb:128 | |
Scenario: Edit iPhone OS success # features/website_features/manage_os_iphones.feature:31 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1 | | |
And I am on the iPhone OSes page # features/step_definitions/web_steps.rb:19 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "iPhone OS Version:*" with "version 1.1" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "version 1.1" # features/step_definitions/web_steps.rb:107 | |
And I should see "OsIphone was successfully updated." # features/step_definitions/web_steps.rb:107 | |
Scenario: Edit iPhone OS error # features/website_features/manage_os_iphones.feature:42 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1 | | |
And I am on the iPhone OSes page # features/step_definitions/web_steps.rb:19 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
And I fill in "iPhone OS Version:*" with "" # features/step_definitions/web_steps.rb:39 | |
And I press "Update" # features/step_definitions/web_steps.rb:27 | |
Then I should see "Version can't be blank" # features/step_definitions/web_steps.rb:107 | |
Scenario: Deleted before clicking on Edit # features/website_features/manage_os_iphones.feature:52 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1 | | |
And I am on the iPhone OSes page # features/step_definitions/web_steps.rb:19 | |
And the iPhone OS "version 1" is destroyed # features/step_definitions/os_iphone_steps.rb:14 | |
When I follow "Edit" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Can't find iPhoneOS with ID" # features/step_definitions/web_steps.rb:107 | |
Scenario: Deleted before clicking on Show # features/website_features/manage_os_iphones.feature:61 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1 | | |
And I am on the iPhone OSes page # features/step_definitions/web_steps.rb:19 | |
And the iPhone OS "version 1" is destroyed # features/step_definitions/os_iphone_steps.rb:14 | |
When I follow "Show" # features/step_definitions/web_steps.rb:33 | |
Then I should see "Can't find iPhoneOS with ID" # features/step_definitions/web_steps.rb:107 | |
Scenario: Deleted before clicking on Destroy # features/website_features/manage_os_iphones.feature:70 | |
Given the following os_iphones: # features/step_definitions/record_steps.rb:1 | |
| version | | |
| version 1 | | |
And I am on the iPhone OSes page # features/step_definitions/web_steps.rb:19 | |
And the iPhone OS "version 1" is destroyed # features/step_definitions/os_iphone_steps.rb:14 | |
When I follow "Destroy" |