55 lines
1.6 KiB
Ruby
55 lines
1.6 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe ApiRetailerInvitationsController, type: :controller do
|
|
render_views
|
|
|
|
let (:owner) {FactoryGirl.create(:user)}
|
|
let (:retailer) {FactoryGirl.create(:retailer, user: owner)}
|
|
let (:retailer_invitation_teacher) {FactoryGirl.create(:retailer_invitation, retailer: retailer)}
|
|
|
|
before(:each) do
|
|
controller.current_user = owner
|
|
end
|
|
|
|
describe "index" do
|
|
it "works" do
|
|
get :index, id: retailer.id
|
|
response.should be_success
|
|
JSON.parse(response.body)['total_entries'].should eql 0
|
|
|
|
retailer_invitation_teacher.touch
|
|
get :index, id: retailer.id
|
|
response.should be_success
|
|
JSON.parse(response.body)['total_entries'].should eql 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe "create" do
|
|
it "works" do
|
|
UserMailer.deliveries.clear
|
|
post :create, id: retailer.id, first_name: "Seth", last_name: "Call", email: "seth@jamkazam.com", :format => 'json'
|
|
response.should be_success
|
|
UserMailer.deliveries.length.should eql 1
|
|
JSON.parse(response.body)['id'].should eql RetailerInvitation.find_by_email("seth@jamkazam.com").id
|
|
end
|
|
end
|
|
|
|
describe "resend" do
|
|
it "works" do
|
|
UserMailer.deliveries.clear
|
|
post :resend, id: retailer.id, invitation_id: retailer_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: retailer.id, invitation_id: retailer_invitation_teacher.id, :format => 'json'
|
|
response.should be_success
|
|
end
|
|
end
|
|
end
|