2016-04-06 02:23:15 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
2016-07-17 15:16:27 +00:00
|
|
|
describe ApiSchoolInvitationsController, type: :controller do
|
2016-04-06 02:23:15 +00:00
|
|
|
render_views
|
|
|
|
|
|
|
|
|
|
let (:owner) {FactoryGirl.create(:user)}
|
|
|
|
|
let (:school) {FactoryGirl.create(:school, user: owner)}
|
|
|
|
|
let (:school_invitation_teacher) {FactoryGirl.create(:school_invitation, school: school, as_teacher: true)}
|
|
|
|
|
let (:school_invitation_student) {FactoryGirl.create(:school_invitation, school: school, as_teacher: false)}
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
controller.current_user = owner
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "index" do
|
|
|
|
|
it "works" do
|
|
|
|
|
get :index, id: school.id, as_teacher: true
|
|
|
|
|
response.should be_success
|
|
|
|
|
JSON.parse(response.body)['total_entries'].should eql 0
|
|
|
|
|
|
|
|
|
|
school_invitation_teacher.touch
|
|
|
|
|
get :index, id: school.id, as_teacher: true
|
|
|
|
|
response.should be_success
|
|
|
|
|
JSON.parse(response.body)['total_entries'].should eql 1
|
|
|
|
|
|
|
|
|
|
get :index, id: school.id, as_teacher: false
|
|
|
|
|
response.should be_success
|
|
|
|
|
JSON.parse(response.body)['total_entries'].should eql 0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "create" do
|
|
|
|
|
it "works" do
|
|
|
|
|
UserMailer.deliveries.clear
|
|
|
|
|
post :create, id: school.id, first_name: "Seth", last_name: "Call", email: "seth@jamkazam.com", as_teacher: true, :format => 'json'
|
|
|
|
|
UserMailer.deliveries.length.should eql 1
|
|
|
|
|
response.should be_success
|
|
|
|
|
JSON.parse(response.body)['id'].should eql SchoolInvitation.find_by_email("seth@jamkazam.com").id
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "resend" do
|
|
|
|
|
it "works" do
|
|
|
|
|
UserMailer.deliveries.clear
|
|
|
|
|
post :resend, id: school.id, invitation_id: school_invitation_teacher.id, :format => 'json'
|
|
|
|
|
UserMailer.deliveries.length.should eql 1
|
|
|
|
|
response.should be_success
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "delete" do
|
|
|
|
|
it "works" do
|
|
|
|
|
delete :delete, id: school.id, invitation_id: school_invitation_teacher.id, :format => 'json'
|
|
|
|
|
response.should be_success
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|