Skip to content
Extraits de code Groupes Projets
invitations_controller_spec.rb 1,48 ko
Newer Older
danielgrippi's avatar
danielgrippi a validé
#   Copyright (c) 2010-2011, Diaspora Inc.  This file is
#   licensed under the Affero General Public License version 3 or later.  See
#   the COPYRIGHT file.


describe InvitationsController do

  before do
    AppConfig[:open_invitations] = true
    @invite = {'email_inviter' => {'message' => "test", 'emails' => "abc@example.com"}}
  end

  describe "#create" do
      sign_in :user, @user
      @controller.stub!(:current_user).and_return(@user)
      request.env["HTTP_REFERER"]= 'http://test.host/cats/foo'
    end

    it 'creates an EmailInviter'  do
      inviter = stub(:emails => ['mbs@gmail.com'], :send! => true)
      EmailInviter.should_receive(:new).with(@invite['email_inviter']['emails'], @user, @invite['email_inviter']).
        and_return(inviter)
      post :create,  @invite
    it "redirects if invitations are closed" do
      open_bit = AppConfig[:open_invitations]
      AppConfig[:open_invitations] = false
      post :create, @invite
      response.should be_redirect
      AppConfig[:open_invitations] = open_bit
    it 'returns to the previous page on success' do
      post :create, @invite
      response.should redirect_to("http://test.host/cats/foo")
Benjamin Neff's avatar
Benjamin Neff a validé
  describe '#email' do
    it 'succeeds' do
      get :email, :invitation_code => "anycode"
      response.should be_success
    end
  end

  describe '#new' do
    it 'renders' do
      sign_in :user, @user