11require 'rails_helper'
22
33describe "Teams service" do
4- describe "POST to create" do
4+ describe "GET /team" do
5+ it "should return a 403 Forbidden when called from non-team subdomain" do
6+ user = create ( :user )
7+ team = create ( :team )
8+
9+ host! "www.example.com"
10+
11+ get "/team" , { } , { "X-User-Email" => user . email , "X-User-Token" => user . authentication_token }
12+
13+ expect ( response . code ) . to eq "403"
14+ end
15+
16+ it "should return a 401 Not Authorized when called from a team subdomain by an unauthenticated user" do
17+ team = create ( :team )
18+
19+ host! "#{ team . subdomain } .example.com"
20+
21+ get "/team"
22+
23+ expect ( response . code ) . to eq "401"
24+ end
25+
26+ it "should return a 401 Not Authorized when called from a team subdomain by an authenticated non-member of the team" do
27+ user = create ( :user )
28+ team = create ( :team )
29+
30+ host! "#{ team . subdomain } .example.com"
31+
32+ get "/team" , { } , { "X-User-Email" => user . email , "X-User-Token" => user . authentication_token }
33+
34+ expect ( response . code ) . to eq "401"
35+ end
36+
37+ it "should fetch the team when called from a team subdomain by an authenticated team member" do
38+ member = create ( :user )
39+ team = create ( :team )
40+ team_membership = create ( :team_membership , user : member , team : team , role : :member )
41+
42+ host! "#{ team . subdomain } .example.com"
43+
44+ get "/team" , { } , { "X-User-Email" => member . email , "X-User-Token" => member . authentication_token }
545
46+ expect ( response . code ) . to eq "200"
47+ expect ( json . data . subdomain ) . to eq team . subdomain
48+ expect ( json . data . name ) . to eq team . name
49+ end
50+ end
51+
52+ describe "POST to create" do
653 before do
754 create ( :plan , slug : "free_plan" , name : "Free Plan" , amount : 0 )
855 create ( :plan , slug : "pro_plan" , name : "Pro Plan" )
4996 get "/team" , { } , { "X-User-Email" => user . email , "X-User-Token" => user . authentication_token }
5097 expect ( json . data . plan_name ) . to eq "Free Plan"
5198 end
52-
5399 end
54100
55101 describe "Post to change_plan" do
186232 }
187233
188234 expect ( response . code ) . to eq "204"
235+
236+ get "/team" , { } , {
237+ "X-User-Email" => owner . email , "X-User-Token" => owner . authentication_token
238+ }
239+
240+ expect ( response . code ) . to eq "404"
189241 end
190242 end
191- end
243+ end
0 commit comments