bcms_support 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,6 +1,6 @@
1
1
  ## BcmsSupport
2
2
 
3
- BcmsSupport is a small but growing set of methods that aims to make testing BrowserCMS modules easier, particularly functional and integration tests.
3
+ BcmsSupport is a small but growing set of methods that aims to make testing BrowserCMS modules easier.
4
4
 
5
5
  ## Installation
6
6
 
@@ -32,8 +32,8 @@ Edit spec/spec_helper.rb
32
32
 
33
33
  require "bcms_support"
34
34
 
35
- class ActiveSupport::TestCase
36
- include BcmsSupport::Test
35
+ Spec::Runner.configure do |config|
36
+ config.include BcmsSupport::Test
37
37
  end
38
38
 
39
39
  ### Cucumber
@@ -45,15 +45,45 @@ Edit config/environments/cucumber.rb
45
45
  Edit features/support/env.rb
46
46
 
47
47
  require "bcms_support/cucumber"
48
+
49
+ ### Factories
50
+
51
+ This library includes factory definitions for the following BrowserCMS models (lifted directly from BrowserCMS' source):
52
+
53
+ * Category
54
+ * CategoryType
55
+ * Connector
56
+ * FileBlock
57
+ * Group
58
+ * GroupType
59
+ * HtmlBlock
60
+ * ImageBlock
61
+ * Link
62
+ * Page
63
+ * PagePartial
64
+ * PageRoute
65
+ * PageTemplate
66
+ * Permission
67
+ * Section
68
+ * Site
69
+ * Task
70
+ * User
71
+
72
+ To use them, just require them wherever you require factory_girl
73
+
74
+ require "factory_girl"
75
+ require "bcms_support/factories"
76
+
77
+ You can define your module's factories the way you normally do, just keep in mind that you cannot define factories with the same names enlisted above.
48
78
 
49
79
  ## Usage
50
80
 
51
81
  At the moment, this library only provides 3 methods that can be called from Test cases, Example groups or step definitions.
52
82
  Please note that BcmsSupport is *very* young and as the collection of methods grow, the API may also change dramatically.
53
83
 
54
- *seed\_bcms\_data* => loads all data seeded by BrowserCMS' migrations into your test database.
55
- *login/_as(user)* => Simulates a logged in user by setting session[:user_id] to the passed in user's id.
56
- *publish\_all\_pages* => Page.all.each(:&publish)
84
+ * __seed\_bcms\_data__ => loads all data seeded by BrowserCMS' migrations into your test database.
85
+ * __login\_as(user)__ => Simulates a logged in user by setting session[:user_id] to the passed in user's id.
86
+ * __publish\_all\_pages__ => Page.all.each(:&publish)
57
87
 
58
88
  Example:
59
89
 
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ begin
14
14
  gem.summary = %Q{Support for testing BrowserCMS modules}
15
15
  gem.description = %Q{Support for testing BrowserCMS modules}
16
16
  gem.email = "alce@mac.com"
17
- gem.homepage = "http://github.com/alce/bcms_test_support"
17
+ gem.homepage = "http://github.com/alce/bcms_support"
18
18
  gem.authors = ["Juan Alvarez"]
19
19
  gem.files = %w[LICENCE README.markdown Rakefile] + Dir.glob("{rails,lib,spec,seeds}/**/*")
20
20
  gem.add_development_dependency 'rspec'
@@ -0,0 +1,109 @@
1
+ # These definitions were lifted directly from BrowserCMS' source
2
+
3
+ Factory.define :category do |m|
4
+ m.association :category_type
5
+ m.sequence(:name) {|n| "TestCategory#{n}"}
6
+ end
7
+
8
+ Factory.define :category_type do |m|
9
+ m.sequence(:name) {|n| "TestCategoryType#{n}"}
10
+ end
11
+
12
+ Factory.define :connector do |m|
13
+ m.association :page
14
+ m.page_version 1
15
+ m.container "main"
16
+ m.association :connectable, :factory => :html_block
17
+ m.connectable_version 1
18
+ end
19
+
20
+ Factory.define :file_block do |m|
21
+ m.sequence(:name) {|n| "TestFileBlock#{n}"}
22
+ end
23
+
24
+ Factory.define :group do |m|
25
+ m.sequence(:name) {|n| "TestGroup#{n}" }
26
+ end
27
+
28
+ Factory.define :group_type do |m|
29
+ m.sequence(:name) {|n| "TestGroupType#{n}" }
30
+ end
31
+
32
+ Factory.define :html_block do |m|
33
+ m.name "About Us"
34
+ m.content "<h1>About Us</h1>\n<p>Lorem ipsum dolor sit amet...</p>"
35
+ end
36
+
37
+ Factory.define :image_block do |m|
38
+ m.sequence(:name) {|n| "TestImageBlock#{n}"}
39
+ end
40
+
41
+ Factory.define :link do |m|
42
+ m.sequence(:name) {|n| "Link #{n}"}
43
+ end
44
+
45
+ Factory.define :page do |m|
46
+ m.sequence(:name) {|n| "Page #{n}" }
47
+ m.path {|a| "/#{a.name.gsub(/\s/,'_').downcase}" }
48
+ m.template_file_name "default.html.erb"
49
+ m.association :section
50
+ end
51
+
52
+ Factory.define :page_partial do |m|
53
+ m.sequence(:name) {|n| "_page_partial_#{n}" }
54
+ m.format "html"
55
+ m.handler "erb"
56
+ end
57
+
58
+ Factory.define :page_routes do |m|
59
+ m.sequence(:pattern) {|n| "/page_route_#{n}"}
60
+ m.association :page
61
+ end
62
+
63
+ Factory.define :page_template do |m|
64
+ m.sequence(:name) {|n| "page_template_#{n}" }
65
+ m.format "html"
66
+ m.handler "erb"
67
+ m.body %q{<html>
68
+ <head>
69
+ <title>
70
+ <%= page_title %>
71
+ </title>
72
+ <%= yield :html_head %>
73
+ </head>
74
+ <body>
75
+ <%= cms_toolbar %>
76
+ <%= container :main %>
77
+ </body>
78
+ </html>}
79
+ end
80
+
81
+ Factory.define :permission do |m|
82
+ m.sequence(:name) {|n| "TestPermission#{n}" }
83
+ end
84
+
85
+ Factory.define :section do |m|
86
+ m.name "Test"
87
+ m.path "/"
88
+ m.parent { Section.root.first }
89
+ end
90
+
91
+ Factory.define :site do |m|
92
+ m.sequence(:name) {|n| "Test #{n}"}
93
+ m.domain {|a| "#{a.name.gsub(/\s/,"_").downcase}.com" }
94
+ end
95
+
96
+ Factory.define :task do |m|
97
+ m.association :assigned_by, :factory => :user
98
+ m.association :assigned_to, :factory => :user
99
+ m.association :page
100
+ end
101
+
102
+ Factory.define :user do |m|
103
+ m.first_name "Test"
104
+ m.last_name "User"
105
+ m.sequence(:login) {|n| "test_#{n}" }
106
+ m.email {|a| "#{a.login}@example.com" }
107
+ m.password "password"
108
+ m.password_confirmation {|a| a.password }
109
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcms_support
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Juan Alvarez
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-10 00:00:00 -05:00
18
+ date: 2010-07-11 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -46,6 +46,7 @@ files:
46
46
  - Rakefile
47
47
  - lib/bcms_support.rb
48
48
  - lib/bcms_support/cucumber.rb
49
+ - lib/bcms_support/factories.rb
49
50
  - lib/bcms_support/shared.rb
50
51
  - lib/bcms_support/test.rb
51
52
  - seeds/connectors.yml
@@ -74,7 +75,7 @@ files:
74
75
  - spec/spec_helper.rb
75
76
  - LICENSE
76
77
  has_rdoc: true
77
- homepage: http://github.com/alce/bcms_test_support
78
+ homepage: http://github.com/alce/bcms_support
78
79
  licenses: []
79
80
 
80
81
  post_install_message: