master
 1require "rails_helper"
 2
 3module Api
 4  module V1
 5    describe ProfilesController do
 6      render_views
 7      let(:user) { create(:user) }
 8
 9      before :each do
10        api_login(user)
11      end
12
13      describe "#show" do
14        it "loads the current users profile" do
15          get :show, params: { id: "me" }, xhr: true
16          expect(assigns(:profile)).to eql(user)
17        end
18      end
19
20      describe "#update" do
21        it "updates the users profile" do
22          new_attributes = {
23            name: "new name",
24            email: "new@example.com",
25            city: "new town",
26            website: "http://example.com",
27            twitter: "blabber",
28            facebook: "facebookie",
29          }
30
31          patch :update, params: { id: "me", profile: new_attributes }, xhr: true
32
33          user.reload
34          expect(user.name).to eql("new name")
35          expect(user.email).to eql("new@example.com")
36          expect(user.city).to eql("new town")
37          expect(user.website).to eql("http://example.com")
38          expect(user.twitter).to eql("blabber")
39          expect(user.facebook).to eql("facebookie")
40        end
41
42        it "returns errors" do
43          patch :update, params: { id: "me", profile: { email: "" } }, xhr: true
44          json = JSON.parse(response.body)
45          expect(json["email"]).to_not be_empty
46        end
47      end
48    end
49  end
50end