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