diff options
author | Jamie Winsor <jamie@enmasse.com> | 2011-08-01 11:27:28 -0700 |
---|---|---|
committer | Jamie Winsor <jamie@enmasse.com> | 2011-08-03 18:01:32 -0700 |
commit | 21b19db5a30fcb6db83f4ac9302cc94c6320a0db (patch) | |
tree | 62a3b89d0f4c9b239bfd76ec77cfc3269ac041ef /spec/factories | |
parent | 3454a9c3007a4bfd10ccd0ff39dc594ebb2a0184 (diff) | |
download | refinerycms-blog-21b19db5a30fcb6db83f4ac9302cc94c6320a0db.tar.gz refinerycms-blog-21b19db5a30fcb6db83f4ac9302cc94c6320a0db.tar.bz2 refinerycms-blog-21b19db5a30fcb6db83f4ac9302cc94c6320a0db.zip |
refactor engine testing scenario
Engine is now tested standalone by leveraging a dummy rails app
Enable Guard for speedy testing
Move factories to the more standard location `spec/factories/*`
Update README with a Testing section
Rename migrations to contain datetimestamps for their version to fix migration order issues when migrating the dummy application
Diffstat (limited to 'spec/factories')
-rw-r--r-- | spec/factories/blog_categories.rb | 3 | ||||
-rw-r--r-- | spec/factories/blog_comments.rb | 6 | ||||
-rw-r--r-- | spec/factories/blog_posts.rb | 7 | ||||
-rw-r--r-- | spec/factories/user.rb | 27 |
4 files changed, 43 insertions, 0 deletions
diff --git a/spec/factories/blog_categories.rb b/spec/factories/blog_categories.rb new file mode 100644 index 0000000..c3701dd --- /dev/null +++ b/spec/factories/blog_categories.rb @@ -0,0 +1,3 @@ +Factory.define :blog_category, :class => 'refinery/blog_category' do |f| + f.sequence(:title) { |n| "Shopping #{n}" } +end diff --git a/spec/factories/blog_comments.rb b/spec/factories/blog_comments.rb new file mode 100644 index 0000000..d738cac --- /dev/null +++ b/spec/factories/blog_comments.rb @@ -0,0 +1,6 @@ +Factory.define :blog_comment, :class => 'refinery/blog_comment' do |f| + f.name "Joe Commenter" + f.sequence(:email) { |n| "person#{n}@example.com" } + f.body "Which one is the best for picking up new shoes?" + f.association :post, :factory => :blog_post +end diff --git a/spec/factories/blog_posts.rb b/spec/factories/blog_posts.rb new file mode 100644 index 0000000..548636d --- /dev/null +++ b/spec/factories/blog_posts.rb @@ -0,0 +1,7 @@ +Factory.define :blog_post, :class => 'refinery/blog_post' do |f| + f.sequence(:title) { |n| "Top #{n} Shopping Centers in Chicago" } + f.body "These are the top ten shopping centers in Chicago. You're going to read a long blog post about them. Come to peace with it." + f.draft false + f.tag_list "chicago, shopping, fun times" + f.published_at Time.now +end diff --git a/spec/factories/user.rb b/spec/factories/user.rb new file mode 100644 index 0000000..94fe1d0 --- /dev/null +++ b/spec/factories/user.rb @@ -0,0 +1,27 @@ +require 'refinerycms/all' +require 'refinery/role' + +Factory.define :user, :class => ::Refinery::User do |u| + u.sequence(:username) { |n| "person#{n}" } + u.sequence(:email) { |n| "person#{n}@cucumber.com" } + u.password "greenandjuicy" + u.password_confirmation "greenandjuicy" +end + +Factory.define :refinery_user, :parent => :user do |u| + u.roles { [ ::Refinery::Role[:refinery] ] } + + u.after_create do |user| + ::Refinery::Plugins.registered.each_with_index do |plugin, index| + user.plugins.create(:name => plugin.name, :position => index) + end + end +end + +Factory.define :refinery_translator, :parent => :user do |u| + u.roles { [ ::Refinery::Role[:refinery], ::Refinery::Role[:translator] ] } + + u.after_create do |user| + user.plugins.create(:name => 'refinery_pages', :position => 0) + end +end |