master
1require "rails_helper"
2
3describe My::SettingsController do
4 describe "#index" do
5 it "should load the current user" do
6 user = create(:user)
7 http_login(user)
8 get :index
9 expect(assigns(:user)).to eql(user)
10 end
11 end
12
13 describe "#update" do
14 let(:user) { create(:user) }
15
16 before :each do
17 http_login(user)
18 patch :update, params: {
19 id: user.id,
20 user: {
21 name: 'mo khan',
22 email: 'mo@mokhan.ca',
23 city: 'Calgary',
24 website: 'http://mokhan.ca/',
25 twitter: 'mocheen',
26 facebook: 'fb'
27 }
28 }
29 end
30
31 it "updates the users settings" do
32 user.reload
33 expect(user.name).to eql('mo khan')
34 expect(user.email).to eql('mo@mokhan.ca')
35 expect(user.city).to eql('Calgary')
36 expect(user.website).to eql('http://mokhan.ca/')
37 expect(user.twitter).to eql('mocheen')
38 expect(user.facebook).to eql('fb')
39 end
40
41 it "redirects to the settings page" do
42 expect(response).to redirect_to(my_settings_path)
43 end
44
45 it "includes a success message" do
46 expect(flash[:notice]).to eql(I18n.t(:profile_saved))
47 end
48 end
49end