Fixed tests to work with TOS agreement

This commit is contained in:
Skud
2012-12-05 16:13:08 +11:00
parent d95f034677
commit 64724231e9
4 changed files with 45 additions and 20 deletions

View File

@@ -2,24 +2,40 @@ require 'spec_helper'
describe 'user' do
before(:each) do
@user = User.new
@user.email = "example@example.com"
@user.username = "someone"
@user.password = "irrelevant"
context 'valid user' do
before(:each) do
@user = User.new
@user.email = "example@example.com"
@user.username = "someone"
@user.password = "irrelevant"
@user.tos_agreement = true
end
it 'should save a basic user' do
@user.save.should be_true
end
it 'should be fetchable from the database' do
@user.save
@user2 = User.find_by_email('example@example.com')
@user2.email.should == "example@example.com"
@user2.username.should == "someone"
@user2.slug.should == "someone"
@user2.encrypted_password.should_not be_nil
end
end
it 'should save a basic user' do
@user.save.should be_true
end
context 'no TOS agreement' do
before(:each) do
@user = User.new
@user.email = "example@example.com"
@user.username = "someone"
@user.password = "irrelevant"
end
it 'should be fetchable from the database' do
@user.save
@user2 = User.find_by_email('example@example.com')
@user2.email.should == "example@example.com"
@user2.username.should == "someone"
@user2.slug.should == "someone"
@user2.encrypted_password.should_not be_nil
it "should refuse to save a user who hasn't agreed to the TOS" do
@user.save.should_not be_true
end
end
end

View File

@@ -3,8 +3,12 @@ module ControllerMacros
def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
user = User.create! :username => "fred", :email => "fred@example.com",
:password => "Yabba-dabba-doo"
user = User.create!(
:username => "fred",
:email => "fred@example.com",
:password => "Yabba-dabba-doo",
:tos_agreement => true
)
user.confirm!
sign_in user
end

View File

@@ -5,7 +5,8 @@ describe "updates/index" do
user = User.create!(
:username => "test_user",
:email => "test@growstuff.org",
:password => "password"
:password => "password",
:tos_agreement => true
)
assign(:updates, [
stub_model(Update,

View File

@@ -2,8 +2,12 @@ require 'spec_helper'
describe "updates/show" do
before(:each) do
@user = User.create! :username => "test_user", :email => "test@example.com",
:password => "password"
@user = User.create!(
:username => "test_user",
:email => "test@example.com",
:password => "password",
:tos_agreement => true
)
end
it "renders the post" do