Permalink
Browse files

first commit

  • Loading branch information...
1 parent 0338e90 commit f241a3c47e13f47b7d01807167e4d8320b456b57 @kristianmandrup committed Sep 16, 2010
View
1 .rspec
@@ -0,0 +1 @@
+--color
View
@@ -0,0 +1,53 @@
+# Devise spec
+
+Spec User model files with Devise strategies specified.
+
+## Install
+
+<code>gem install devise-spec</code>
+
+## Usage
+
+Teaser:
+<pre>
+ root_dir.should have_model :user do |clazz|
+ clazz.should have_default_devise_options
+ clazz.should have_devise_options :database_authenticatable, :confirmable
+ end
+</pre>
+
+Full RSpec example:
+<pre>
+ root_dir = Rails3::Assist::Directory.rails_root
+
+ describe 'Options are present in devise User model' do
+ use_orm :none
+
+ it "should have the User model setup with the default devise strategies" do
+ create_model :user do
+ %q{
+ devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable
+ }
+ end
+
+ root_dir.should have_model :user do |clazz|
+ clazz.should have_default_devise_options
+ clazz.should have_devise_options :database_authenticatable, :confirmable
+ end
+ end
+ end
+</pre>
+
+## Note on Patches/Pull Requests
+
+* Fork the project.
+* Make your feature addition or bug fix.
+* Add tests for it. This is important so I don't break it in a
+ future version unintentionally.
+* Commit, do not mess with rakefile, version, or history.
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
+* Send me a pull request. Bonus points for topic branches.
+
+## Copyright
+
+Copyright (c) 2010 Kristian Mandrup. See LICENSE for details.
@@ -0,0 +1,13 @@
+require 'code-spec'
+
+module RSpec::RubyContentMatchers
+ module Devise
+ def have_default_devise_options
+ have_call "devise", :args => [:database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable]
+ end
+
+ def have_devise_options *names
+ have_call "devise", :args => names
+ end
+ end
+end
View
@@ -0,0 +1,7 @@
+require 'rspec/core'
+
+RSpec.configure do |config|
+ config.include RSpec::RubyContentMatchers::Devise
+end
+
+
@@ -0,0 +1,29 @@
+require 'spec_helper'
+
+root_dir = Rails3::Assist::Directory.rails_root
+
+describe 'RSpec matcher to spec that auth options are present in devise User model' do
+ use_orm :active_record
+ use_helpers :model
+
+ before :each do
+ create_model :user do
+ %q{
+ devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable
+ }
+ end
+ puts read_model :user
+ end
+
+ after :each do
+ remove_model :user
+ end
+
+ it "should have the User model setup with the default devise strategies" do
+ root_dir.should have_model :user do |clazz|
+ clazz.should have_default_devise_options
+ clazz.should have_devise_options :database_authenticatable, :confirmable
+ end
+ end
+end
+
@@ -0,0 +1,29 @@
+require 'spec_helper'
+
+root_dir = Rails3::Assist::Directory.rails_root
+
+describe 'RSpec matcher to spec that auth options are present in devise User model' do
+ use_orm :none
+ use_helpers :model
+
+ before :each do
+ create_model :user do
+ %q{
+ devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable
+ }
+ end
+ puts read_model :user
+ end
+
+ after :each do
+ remove_model :user
+ end
+
+ it "should have the User model setup with the default devise strategies" do
+ root_dir.should have_model :user do |clazz|
+ clazz.should have_default_devise_options
+ clazz.should have_devise_options :database_authenticatable, :confirmable
+ end
+ end
+end
+

0 comments on commit f241a3c

Please sign in to comment.