decko 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/decko/generators/decko/templates/Gemfile +1 -0
  3. metadata +5 -109
  4. data/.rspec +0 -4
  5. data/Guardfile +0 -32
  6. data/decko.gemspec +0 -42
  7. data/features/attach.feature +0 -85
  8. data/features/autonaming.feature +0 -19
  9. data/features/conflict.feature +0 -41
  10. data/features/follow.feature +0 -64
  11. data/features/history.feature +0 -27
  12. data/features/layouts.feature +0 -25
  13. data/features/navbox.feature +0 -34
  14. data/features/notifications.feature +0 -33
  15. data/features/paging.feature +0 -34
  16. data/features/pointer_inputs.feature +0 -81
  17. data/features/presetting_content.feature +0 -13
  18. data/features/reference.feature +0 -26
  19. data/features/reset_password.feature +0 -35
  20. data/features/rules.feature +0 -45
  21. data/features/setup.feature +0 -32
  22. data/features/signup.feature +0 -61
  23. data/features/step_definitions/decko_steps.rb +0 -532
  24. data/features/step_definitions/email_steps.rb +0 -216
  25. data/features/step_definitions/history_steps.rb +0 -5
  26. data/features/step_definitions/web_steps.rb +0 -155
  27. data/features/step_definitions/window_steps.rb +0 -27
  28. data/features/structure.feature +0 -41
  29. data/features/support/debugger.rb +0 -44
  30. data/features/support/delayed_job.rb +0 -20
  31. data/features/support/env.rb +0 -115
  32. data/features/support/file.txt +0 -1
  33. data/features/support/image.png +0 -0
  34. data/features/support/image2.jpg +0 -0
  35. data/features/support/paths.rb +0 -63
  36. data/features/support/scopes.rb +0 -34
  37. data/features/support/wagn_env.rb +0 -11
  38. data/features/table_of_contents.feature +0 -36
  39. data/features/toolbar.feature +0 -29
  40. data/features/update_includers.feature +0 -75
  41. data/lib/decko/tasks/.gitkeep +0 -0
  42. data/spec/controllers/card_controller_spec.rb +0 -407
  43. data/spec/controllers/location_spec.rb +0 -25
  44. data/spec/javascripts/helpers/.gitkeep +0 -0
  45. data/spec/javascripts/helpers/jasmine-jquery.js +0 -812
  46. data/spec/javascripts/support/jasmine.yml.erb +0 -79
  47. data/spec/javascripts/support/jasmine_config.rb +0 -21
  48. data/spec/javascripts/support/jasmine_runner.rb +0 -21
  49. data/spec/javascripts/wagn_spec.coffee +0 -42
  50. data/test/1.10.0-data-dump.sql +0 -359
  51. data/test/performance/card_create_test.rb +0 -21
  52. data/test/performance/fetch_test.rb +0 -9
  53. data/test/performance/homepage_test.rb +0 -9
  54. data/test/performance/render_test.rb +0 -10
  55. data/test/script/run_engine_deck.sh +0 -47
  56. data/test/script/run_mig.sh +0 -29
  57. data/test/test_helper.rb +0 -125
@@ -1,27 +0,0 @@
1
- # @javascript
2
- # Feature: History
3
- # As an editor
4
- # I want to be able to browse through the history and save an old version as
5
- # current.
6
- #
7
- # Background:
8
- # Given I am signed in as Joe Admin
9
- # Then the card First should not contain "chicken"
10
- #
11
- # Scenario: view history and rollback
12
- # When I go to url "/First?view=history"
13
- # # Then In the main card content I should see a del with content "egg"
14
- #
15
- # When I expand act 2
16
- # # And In the main card content I click "Hide changes"
17
- # # Then In the main card content I should not see a del with content "egg"
18
- # And I wait for ajax response
19
- #
20
- # When In the main card body I click "Save as current"
21
- # And I wait for ajax response
22
- #
23
- # Then In the main card content I should see "chicken"
24
- #
25
- # #Then the card First should contain "chicken"
26
-
27
-
@@ -1,25 +0,0 @@
1
- @javascript
2
- Feature: Layouts
3
- In order to have greater control over the look and feel of my website
4
- As a User
5
- I want custom html templates
6
-
7
- Background:
8
- Given I am signed in as Joe Admin
9
- And I create Layout card "simple layout" with content "Simple Header {{_main}} Simple Footer"
10
- And the card "*all+*layout" contains "[[simple layout]]"
11
-
12
- Scenario: I visit a Basic card with the simple layout
13
- When I go to card "*account links"
14
- Then I should see "Simple Header"
15
- And I should see "Joe Admin"
16
-
17
- Scenario: I visit a User card with the user layout
18
- Given I create Layout card "user layout" with content "User Header {{_main}}"
19
- And I create Pointer card "User+*type+*layout" with content "[[user layout]]"
20
- And I wait 1 seconds
21
- When I go to card "Joe User"
22
- Then I should see "User Header"
23
-
24
-
25
-
@@ -1,34 +0,0 @@
1
- @javascript
2
- Feature: Navbox
3
- As a Casual site user
4
- I want to be able search for site content
5
-
6
- Scenario: quick search
7
- Given I go to the homepage
8
- And I fill in "_keyword" with "Joe"
9
- # possible to use placeholder?
10
- # And I wait a sec
11
- Then I should see "Joe Camel"
12
- And I should see "JoeNow"
13
- Then I press enter to search
14
- #When I follow "search: Joe"
15
- # fixme: unable to click link so far...
16
- # And I wait a sec
17
- Then I should see "Search results"
18
-
19
- Scenario: wql search
20
- Given I go to the homepage
21
- And I fill in "_keyword" with '{"type":"User"}'
22
- Then I press enter to search
23
- # And I wait a sec
24
- Then I should see "Search results"
25
- And I should see "Big Brother"
26
-
27
- Scenario: paging
28
- Given I go to the homepage
29
- And I fill in "_keyword" with "skin"
30
- Then I press enter to search
31
- Then I should see "Search results"
32
- And I should see "Sample Skin"
33
- When I click on "2"
34
- Then I should see "United skin"
@@ -1,33 +0,0 @@
1
- @javascript @delayed-jobs
2
- Feature: Notifications
3
- In order for Decko to be a more effective communication platform
4
- Users should be able to track changes to Decko cards from their email
5
-
6
- Scenario: Watching a Card
7
- Given Joe Admin is watching "All Eyes On Me+*self"
8
- When Joe User edits "All Eyes On Me" setting content to "Boo"
9
- Then Joe Admin should be notified that "Joe User updated \"All Eyes On Me\""
10
- And the card All Eyes On Me+*followers should point to "Joe Admin"
11
- And I should see "was just updated by Joe User" in the email body
12
- And I should see |You received this email because you're following "All Eyes On Me"| in the email body
13
- When I am signed in as Joe Admin
14
- And I follow "Unfollow" in the email
15
- Then the card All Eyes On Me+*followers should not point to "Joe Admin"
16
-
17
- Scenario: Watching a Type Card
18
- Given Joe Admin is watching "Phrase+*type"
19
- When Joe User creates Phrase card "Foo" with content "bar"
20
- Then Joe Admin should be notified that "Joe User created \"Foo\""
21
- And the card Phrase+*type+*followers should point to "Joe Admin"
22
- And I should see "was just created by Joe User" in the email body
23
- #FIXME these double quotes are ugly
24
- And I should see |You received this email because you're following "all "Phrases""| in the email body
25
- When I am signed in as Joe Admin
26
- And I follow "Unfollow" in the email to "joe@admin.com"
27
- Then the card Phrase+*type+*followers should not point to "Joe Admin"
28
-
29
- Scenario: Watching a Card
30
- Given Joe User is watching "Home+*self"
31
- When Joe Admin deletes "Home"
32
- Then Joe User should be notified that "Joe Admin deleted \"Home\""
33
-
@@ -1,34 +0,0 @@
1
- @javascript
2
- Feature: paging
3
- In order to see limited items per page
4
- As an Viewer
5
- I want to have paging function
6
-
7
- Background:
8
- Given I am signed in as Joe Admin
9
- And I create Search card "basic card search" with content "{\"type\":\"basic\"}"
10
-
11
- Scenario: jump to pages should keep the item structure
12
- When I create HTML card "basic item structure" with content "{{_|name}}"
13
- And I create HTML card "list all basic cards" with content "{{basic card search||content;structure:basic item structure}}"
14
- And I go to card "list all basic cards"
15
- And I click "2" within ".paging"
16
- And I wait for ajax response
17
- Then I should see css class ".STRUCTURE-basic_item_structure" within ".search-result-item"
18
- And I click "3" within ".paging"
19
- And I wait for ajax response
20
- Then I should see css class ".STRUCTURE-basic_item_structure" within ".search-result-item"
21
-
22
- Scenario: jump to pages should keep the item view
23
- When I create HTML card "list basic types" with content "{{basic card search|open|closed}}"
24
- And I go to card "list basic types"
25
- And I click "2" within ".paging"
26
- And I wait for ajax response
27
- Then I should see css class ".closed-view" within ".search-result-item"
28
- And I click "3" within ".paging"
29
- And I wait for ajax response
30
- Then I should see css class ".TYPE-search.open-view"
31
- Then I should see css class ".closed-view" within ".search-result-item"
32
-
33
-
34
-
@@ -1,81 +0,0 @@
1
- @javascript
2
- Feature: Pointer Inputs
3
- In order to offer a more user friendly interface
4
- As a User
5
- I want to use different input methods for pointers
6
-
7
- Background:
8
- Given I am signed in as Joe Admin
9
- And I create Pointer card "friends+*right+*default"
10
- And I create Search card "friends+*right+*options" with content "{"type":"User"}"
11
-
12
- Scenario: Creating a card with select input
13
- Given I create Phrase card "friends+*right+*input" with content "select"
14
- When I go to card "Joe User+friends"
15
- And I select "Joe Camel" from "Content"
16
- And I press "Submit"
17
- And I go to card "Joe User+friends"
18
- Then I should see "Joe Camel"
19
-
20
- Scenario: Creating a structured card including a select input
21
- Given I create Phrase card "User+*type+*structure" with content "{{+friends}}"
22
- And I create Phrase card "friends+*right+*input" with content "select"
23
- When I edit "Joe User"
24
- And I select "Joe Admin" from "+friends"
25
- And I press "Submit"
26
- And I go to card "Joe User"
27
- Then I should see "Joe Admin"
28
-
29
- Scenario: Creating a card with multiselect input
30
- Given I create Phrase card "friends+*right+*input" with content "multiselect"
31
- When I go to card "Joe User+friends"
32
- And I select "Joe Camel" from "Content"
33
- And I press "Submit"
34
- And I go to card "Joe User+friends"
35
- Then I should see "Joe Camel"
36
-
37
- Scenario: Creating a templated card including a multiselect input
38
- Given I create Phrase card "User+*type+*structure" with content "{{+friends}}"
39
- And I create Phrase card "friends+*right+*input" with content "multiselect"
40
- When I edit "Joe User"
41
- And I select "Joe Admin" from "friends"
42
- And I press "Submit"
43
- And I go to card "Joe User"
44
- And I should see "Joe Admin"
45
-
46
- Scenario: Creating a card with radio input
47
- Given I create Phrase card "friends+*right+*input" with content "radio"
48
- When I go to card "Joe User+friends"
49
- And I choose "Joe Camel"
50
- And I press "Submit"
51
- And I go to card "Joe User+friends"
52
- Then I should see "Joe Camel"
53
-
54
- Scenario: Creating a card with checkbox input
55
- Given I create Phrase card "friends+*right+*input" with content "checkbox"
56
- #And I create a Phrase card "*all+*option label" with content "description"
57
- And I create a Phrase card "Joe Admin+description" with content "boom yow yow"
58
- When I go to card "Joe User+friends"
59
- Then I should see "boom yow yow"
60
- And I check "Joe Camel"
61
- And I press "Submit"
62
- And I go to card "Joe User+friends"
63
- Then I should see "Joe Camel"
64
- And I edit "Joe User+friends"
65
- And I uncheck "Joe Camel"
66
- And I press "Submit"
67
- And I go to card "Joe User+friends"
68
- Then I should not see "Joe Camel"
69
-
70
- # can't get fill_in to work. don't know why -efm
71
- # Scenario: Creating a card with list input
72
- # Given I go to card "Joe User+friends"
73
- # Then I fill in "pointer_item" with "Joe Camel"
74
- # And I press "Submit"
75
- # When I go to card "Joe User"
76
- # Then I should see "Joe Camel"
77
- #
78
-
79
- # should test:
80
- # switching type before create from pointers
81
- # correct default values for each input type selected / checked / filled in
@@ -1,13 +0,0 @@
1
- Feature: Presetting content
2
- In order to have an easy to use interface for creating cards
3
- As a Decker
4
- I want to be able to create links specifying content for plus cards of templated cards
5
-
6
- Scenario: User age
7
- Given I am signed in as Joe User
8
- And I go to new Book presetting name to "Harry Potter" and author to "JK Rowling"
9
- And I press "Submit"
10
- And I wait for ajax response
11
- When I go to card "Harry Potter+author"
12
- Then I should see "JK Rowling"
13
-
@@ -1,26 +0,0 @@
1
- @javascript
2
- Feature: Reference
3
- In order to connect related cards
4
- As a Decker
5
-
6
- Background:
7
- Given I am signed in as Joe Admin
8
-
9
- Scenario: Renaming a embed card
10
- When I create PlainText card "Vignesh" with content "Indian"
11
- And I wait for ajax response
12
- And I create PlainText card "Kawaii Man" with content "[[Vignesh]]"
13
- And I wait for ajax response
14
- Then I should see "Vignesh"
15
- And I wait for ajax response
16
- And I go to rename "Vignesh"
17
- And I fill in "card_name" with "Srivigneshwar"
18
- And I press "Rename"
19
- And I wait 2 seconds
20
- And I press "Rename and Update"
21
- And I wait 2 seconds
22
- Then I go to card "Kawaii Man"
23
- And I should see "Srivigneshwar"
24
-
25
-
26
-
@@ -1,35 +0,0 @@
1
- Feature: Reset password
2
- In order to be able to recover lost account access
3
- As an authorized user
4
- I want to be able to reset my password
5
-
6
- Background:
7
- # There is a user named Joe User in the test data with the email "joe@user.com"
8
- # Poor Joe has forgotten his password (which we know to be joe_pass)
9
-
10
- Scenario: Resetting password
11
- When I go to the homepage
12
- And I follow "Sign in"
13
- And I follow "RESET PASSWORD"
14
- And I enter "joe@user.com" into "*email"
15
- And I press "Reset my password"
16
- And I wait 4 seconds
17
- Then "joe@user.com" should receive an email with subject "reset password for My Deck"
18
-
19
- When I open the email
20
- And I click the first link in the email
21
- Then I should see "Joe User"
22
-
23
- When I enter "joe_pass_reset" into "*password"
24
- And I press "Submit"
25
- Then I should see "encrypted"
26
-
27
- When I go to the homepage
28
- And I follow "Sign out"
29
- Then I should not see "Joe User"
30
-
31
- When I follow "Sign in"
32
- And I enter "joe@user.com" into "*email"
33
- And I enter "joe_pass_reset" into "*password"
34
- And I press "Sign in"
35
- Then I should see "Joe User"
@@ -1,45 +0,0 @@
1
- @javascript
2
- Feature: Set-based Rles
3
- In order to control settings in an efficient way
4
- As a Decker
5
- I want to be able to control rules for sets of cards
6
-
7
- Background:
8
- Given I am signed in as Joe Admin
9
- And I create card "*all+*help" with content "say something spicy"
10
- And I wait a sec
11
-
12
- Scenario: default setting and plus card override
13
- Given I create Phrase card "color+*right+*add help" with content "If colorblind, leave blank"
14
- And I am signed in as Joe User
15
- When I go to new card named "Test"
16
- Then I should see "spicy"
17
- When I go to new card "Test+color"
18
- Then I should see "colorblind"
19
-
20
- Scenario: *right Set
21
- Given I create Phrase card "cereal+*right+*add help" with content "I go poopoo for poco puffs"
22
- And I am signed in as Joe User
23
- When I go to new card named "Test+cereal"
24
- Then I should see "poopoo"
25
-
26
- Scenario: *type_plus_right Set
27
- Given I create Phrase card "User+cereal+*type plus right+*help" with content "your favorite"
28
- When I go to card "Joe User+cereal"
29
- Then I should see "your favorite"
30
- When I create card "User+*type+*structure" with content "{{+cereal}}"
31
- And I am signed in as Joe User
32
- And I edit "Joe User"
33
- Then I should see "your favorite"
34
- When I go to new card "Joe Admin+cereal"
35
- Then I should see "your favorite"
36
-
37
- Scenario: Solo Set
38
- Given I create Pointer card "cereal+*self+*layout" with content "[[cereal layout]]"
39
- And I am signed in as Joe User
40
- And I create card "cereal layout" with content "My very own header"
41
- When I go to card "cereal"
42
- Then I should see "My very own"
43
-
44
-
45
-
@@ -1,32 +0,0 @@
1
- Feature: Setting up
2
- In order to be able to start a new Wagn site
3
- As a Decker
4
- I want to setup an initial account
5
-
6
- Background:
7
-
8
- Scenario: Decker visits site for first time
9
- Given site simulates setup need
10
- #done here bc cache gets cleared otherwise
11
-
12
- When I go to the homepage
13
- Then I should see "Welcome"
14
-
15
- When I fill in "card_name" with "The Newber"
16
- And I enter "newb@wagn.org" into "*email"
17
- And I enter "newb_pass" into "*password"
18
- And I press "Set up"
19
- Then I should see "The Newber"
20
-
21
- When I go to card "The Newber+*roles"
22
- Then I should see "Administrator"
23
-
24
- When I follow "Sign out"
25
- And I follow "Sign in"
26
- And I enter "newb@wagn.org" into "*email"
27
- And I enter "newb_pass" into "*password"
28
- And I press "Sign in"
29
- Then I should see "The Newber"
30
-
31
- And site stops simulating setup need
32
-
@@ -1,61 +0,0 @@
1
- @javascript
2
-
3
- Feature: Signing up
4
- In order to be able to contribute content and be credited for my contributions
5
- As a content editor
6
- I want to signup for an account
7
-
8
- Background:
9
- Given I am signed in as "Joe Admin"
10
- And I edit "Sign up+*type+*captcha"
11
- And I uncheck "Content"
12
- And I press "Submit"
13
- # By default Wagns are configured to require approval
14
- Given Joe Admin creates Pointer card "User+*type+*create" with content "[[Anyone]]"
15
-
16
-
17
- Scenario: Signing up (without approval) and then signing out and back in
18
- And I am signed out
19
- #This is the needed permission configuration to allow signups without approval
20
-
21
- When I go to the home page
22
- And I follow "Sign up"
23
- And I fill in "card_name" with "Wanna B"
24
- And I enter "wanna@wagn.org" into "*email"
25
- And I enter "wanna_pass" into "*password"
26
- And I press "Submit"
27
- Then I should see "Signup Success"
28
- And "wanna@wagn.org" should receive an email with subject "verification link for My Deck"
29
-
30
- When I open the email
31
- And I click the first link in the email
32
- Then I should see "Wanna B"
33
- And "Wanna B" should be signed in
34
-
35
-
36
- When I go to the home page
37
- And I follow "Sign out"
38
- Then I should not see "Wanna B"
39
-
40
- When I follow "Sign in"
41
- And I enter "wanna@wagn.org" into "*email"
42
- And I enter "wanna_pass" into "*password"
43
- And I press "Sign in"
44
- Then I should see "Wanna B"
45
- And "Wanna B" should be signed in
46
-
47
-
48
- #Scenario: Signing up with approval
49
- #Given I am signed out
50
-
51
- #When I go to card "AccountRequest"
52
- #And In the main card content I click "Wanna B"
53
- #When In the main card content I click "Invite Wanna B"
54
- #Then I should not see "life story"
55
- #When I press "Invite"
56
- #Then I should see "Success"
57
- #When I go to card "Wanna B"
58
- #Then I should see "life story"
59
-
60
- #Then I should see "sent"
61
-