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