* forgot to check in deleted files
This commit is contained in:
parent
e3c2ef481c
commit
a930f2fd81
|
|
@ -1,127 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "Authentication" do
|
||||
|
||||
subject { page }
|
||||
|
||||
describe "signin page" do
|
||||
before { visit signin_path }
|
||||
|
||||
it { should have_selector('h1', text: 'sign in or register') }
|
||||
it { should have_selector('title', text: 'Sign in') }
|
||||
end
|
||||
|
||||
describe "signin" do
|
||||
before { visit signin_path }
|
||||
|
||||
describe "with invalid information" do
|
||||
before { click_button "SIGN IN" }
|
||||
|
||||
it { should have_selector('title', text: 'Sign in') }
|
||||
it { should have_selector('div.alert.alert-error', text: 'Invalid') }
|
||||
|
||||
#describe "after visiting another page" do
|
||||
#before { click_link "Home" }
|
||||
#it { should_not have_selector('div.alert.alert-error') }
|
||||
#end
|
||||
end
|
||||
|
||||
describe "with valid information" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
before do
|
||||
fill_in "Email", with: user.email
|
||||
fill_in "Password", with: user.password
|
||||
click_button "SIGN IN"
|
||||
end
|
||||
|
||||
# Successful sign-in goes to the client
|
||||
it { should have_selector('title', text: "Jamkazam") }
|
||||
it { should have_selector('h1', text: "Jamkazam") }
|
||||
end
|
||||
end
|
||||
|
||||
describe "authorization" do
|
||||
|
||||
describe "for non-signed-in users" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
|
||||
describe "when attempting to visit a protected page" do
|
||||
before do
|
||||
visit edit_user_path(user)
|
||||
fill_in "Email", with: user.email
|
||||
fill_in "Password", with: user.password
|
||||
click_button "SIGN IN"
|
||||
end
|
||||
|
||||
describe "after signing in" do
|
||||
|
||||
it "should render the desired protected page" do
|
||||
page.should have_selector('title', text: 'Edit user')
|
||||
end
|
||||
|
||||
describe "when signing in again" do
|
||||
before do
|
||||
delete signout_path
|
||||
visit signin_path
|
||||
fill_in "Email", with: user.email
|
||||
fill_in "Password", with: user.password
|
||||
click_button "SIGN IN"
|
||||
end
|
||||
|
||||
it "should render the signed-in client page" do
|
||||
# it now goes to /music_sessions
|
||||
page.should have_selector('title', text: "Jamkazam")
|
||||
page.should have_selector('h1', text: "Jamkazam")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "in the Users controller" do
|
||||
|
||||
describe "visiting the edit page" do
|
||||
before { visit edit_user_path(user) }
|
||||
it { should have_selector('title', text: 'Sign in') }
|
||||
end
|
||||
|
||||
describe "submitting to the update action" do
|
||||
before { put user_path(user) }
|
||||
specify { response.should redirect_to(signin_url) }
|
||||
end
|
||||
|
||||
describe "visiting user index" do
|
||||
before { visit users_path }
|
||||
it { should have_selector('title', text: 'Sign in') }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "as wrong user" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
let(:wrong_user) { FactoryGirl.create(:user, email: "wrong@example.com") }
|
||||
before { sign_in user }
|
||||
|
||||
describe "visiting Users#edit page" do
|
||||
before { visit edit_user_path(wrong_user) }
|
||||
it { should have_selector('title', text: full_title('')) }
|
||||
end
|
||||
|
||||
describe "submitting a PUT request to the Users#update action" do
|
||||
before { put user_path(wrong_user) }
|
||||
specify { response.should redirect_to(root_url) }
|
||||
end
|
||||
end
|
||||
|
||||
describe "as non-admin user" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
let(:non_admin) { FactoryGirl.create(:user) }
|
||||
|
||||
before { sign_in non_admin }
|
||||
|
||||
describe "submitting a DELETE request to the Users#destroy action" do
|
||||
before { delete user_path(user) }
|
||||
specify { response.should redirect_to(root_url) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "Static pages" do
|
||||
|
||||
subject { page }
|
||||
|
||||
|
||||
describe "Home page" do
|
||||
before { visit '/oldhome' }
|
||||
|
||||
it { should have_selector('h1', text: 'Jam') }
|
||||
it { should have_selector('title', text: full_title('')) }
|
||||
it { should_not have_selector 'title', text: '| Home' }
|
||||
|
||||
describe "for signed-in users" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
before do
|
||||
sign_in user
|
||||
visit root_path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "Help page" do
|
||||
before { visit help_path }
|
||||
|
||||
it { should have_selector('h1', text: 'Help') }
|
||||
it { should have_selector('title', text: full_title('Help')) }
|
||||
end
|
||||
|
||||
describe "About page" do
|
||||
before { visit about_path }
|
||||
|
||||
it { should have_selector('h1', text: 'About') }
|
||||
it { should have_selector('title', text: full_title('About Us')) }
|
||||
end
|
||||
|
||||
describe "Contact page" do
|
||||
before { visit contact_path }
|
||||
|
||||
it { should have_selector('h1', text: 'Contact') }
|
||||
it { should have_selector('title', text: full_title('Contact')) }
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -1,174 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "User pages" do
|
||||
|
||||
subject { page }
|
||||
|
||||
describe "index" do
|
||||
|
||||
before do
|
||||
sign_in FactoryGirl.create(:user)
|
||||
|
||||
FactoryGirl.create(:user, first_name: "Bob", last_name: "Smith", email: "bob@example.com")
|
||||
FactoryGirl.create(:user, first_name: "Ben", last_name: "Smith", email: "ben@example.com")
|
||||
visit users_path
|
||||
end
|
||||
|
||||
it { should have_selector('title', text: 'All users') }
|
||||
|
||||
describe "pagination" do
|
||||
|
||||
before(:all) { 30.times { FactoryGirl.create(:user) } }
|
||||
after(:all) { User.delete_all }
|
||||
|
||||
let(:first_page) { User.paginate(page: 1) }
|
||||
let(:second_page) { User.paginate(page: 2) }
|
||||
|
||||
it { should have_link('Next') }
|
||||
its(:html) { should match('>2</a>') }
|
||||
|
||||
it "should list each user" do
|
||||
User.all[0..2].each do |user|
|
||||
page.should have_selector('li', text: user.name)
|
||||
end
|
||||
end
|
||||
|
||||
it "should list the first page of users" do
|
||||
first_page.each do |user|
|
||||
page.should have_selector('li', text: user.name)
|
||||
end
|
||||
end
|
||||
|
||||
it "should not list the second page of users" do
|
||||
second_page.each do |user|
|
||||
page.should_not have_selector('li', text: user.name)
|
||||
end
|
||||
end
|
||||
|
||||
describe "showing the second page" do
|
||||
before { visit users_path(page: 2) }
|
||||
|
||||
it "should list the second page of users" do
|
||||
second_page.each do |user|
|
||||
page.should have_selector('li', text: user.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "delete links" do
|
||||
|
||||
it { should_not have_link('delete') }
|
||||
|
||||
describe "as an admin user" do
|
||||
let(:admin) { FactoryGirl.create(:admin) }
|
||||
before do
|
||||
sign_in admin
|
||||
visit users_path
|
||||
end
|
||||
|
||||
it { should have_link('delete', href: user_path(User.first)) }
|
||||
it "should be able to delete another user" do
|
||||
expect { click_link('delete') }.to change(User, :count).by(-1)
|
||||
end
|
||||
it { should_not have_link('delete', href: user_path(admin)) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "profile page" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
|
||||
before { visit user_path(user) }
|
||||
|
||||
it { should have_selector('h1', text: user.name) }
|
||||
it { should have_selector('title', text: user.name) }
|
||||
end
|
||||
|
||||
describe "signup page" do
|
||||
before { visit signup_path }
|
||||
|
||||
it { should have_selector('h1', text: 'create a jamkazam account') }
|
||||
it { should have_selector('title', text: full_title('Sign up')) }
|
||||
end
|
||||
|
||||
describe "signup" do
|
||||
|
||||
before { visit signup_path }
|
||||
|
||||
let(:submit) { "CREATE ACCOUNT" }
|
||||
|
||||
describe "with invalid information" do
|
||||
it "should not create a user" do
|
||||
expect { click_button submit }.not_to change(User, :count)
|
||||
end
|
||||
|
||||
describe "error messages" do
|
||||
before { click_button submit }
|
||||
|
||||
it { should have_selector('title', text: 'Sign up') }
|
||||
it { should have_content('error') }
|
||||
end
|
||||
end
|
||||
|
||||
describe "with valid information" do
|
||||
before do
|
||||
fill_in "First Name", with: "Example"
|
||||
fill_in "Last Name", with: "User"
|
||||
fill_in "Name", with: "Example User"
|
||||
fill_in "Email", with: "user@example.com"
|
||||
fill_in "Password", with: "foobar"
|
||||
fill_in "Verify Password", with: "foobar"
|
||||
end
|
||||
|
||||
it "should create a user" do
|
||||
expect { click_button submit }.to change(User, :count).by(1)
|
||||
end
|
||||
|
||||
describe "after saving the user" do
|
||||
before { click_button submit }
|
||||
|
||||
let(:user) { User.find_by_email('user@example.com') }
|
||||
|
||||
it { should have_selector('title', text: "Confirmation Email Sent") }
|
||||
it { should have_selector('div.alert.alert-success', text: 'check your email') }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "edit" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
before do
|
||||
sign_in user
|
||||
visit edit_user_path(user)
|
||||
end
|
||||
|
||||
describe "page" do
|
||||
it { should have_selector('h1', text: "Update your profile") }
|
||||
it { should have_selector('title', text: "Edit user") }
|
||||
it { should have_link('change', href: 'http://gravatar.com/emails') }
|
||||
end
|
||||
|
||||
|
||||
describe "with valid information" do
|
||||
let(:new_first_name) { "New" }
|
||||
let(:new_last_name) { "Name" }
|
||||
let(:new_email) { "new@example.com" }
|
||||
before do
|
||||
fill_in "First Name", with: new_first_name
|
||||
fill_in "Last Name", with: new_last_name
|
||||
fill_in "Email", with: new_email
|
||||
fill_in "Password", with: user.password
|
||||
fill_in "Confirm Password", with: user.password
|
||||
click_button "Save changes"
|
||||
end
|
||||
|
||||
it { should have_selector('title', text: new_first_name) }
|
||||
it { should have_selector('title', text: new_last_name) }
|
||||
it { should have_selector('div.alert.alert-success') }
|
||||
specify { user.reload.first_name.should == new_first_name }
|
||||
specify { user.reload.last_name.should == new_last_name }
|
||||
specify { user.reload.email.should == new_email }
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue