Commit 1a02f3c6ab0ca332f77c89c810e7e85e5266ba1f

Authored by Evandro Junior
1 parent 4bf9d214
Exists in master

Added functional tests

controllers/email_article_plugin_myprofile_controller.rb
... ... @@ -6,9 +6,9 @@ class EmailArticlePluginMyprofileController < MyProfileController
6 6 if user.is_admin?(profile)
7 7 article = Article.find(params[:id])
8 8 EmailArticlePluginMyprofileController::Sender.deliver_mail(article)
9   - render :action => 'success'
  9 + render :text => "Email sent to queue"
10 10 else
11   - render :action => 'fail'
  11 + render :status => :forbidden, :text => "Forbidden user"
12 12 end
13 13 end
14 14  
... ...
test/functional/email_article_plugin_myprofile_controller_test.rb 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +
  3 +class EmailArticlePluginMyprofileControllerTest < ActionController::TestCase
  4 +
  5 + def setup
  6 + Environment.delete_all
  7 + @environment = Environment.new(:name => 'testenv', :is_default => true)
  8 + @environment.enabled_plugins = ['EmailArticlePlugin']
  9 + @environment.save!
  10 + end
  11 +
  12 + should 'be able to deliver mail as profile admin' do
  13 + @profile = Community.create!(:name => 'Sample community', :identifier => 'sample-community')
  14 + @user = create_user('testinguser')
  15 + login_as(@user.login)
  16 + @profile.add_admin(@user.person)
  17 + @article = @profile.articles.create!(:name => 'a test article', :last_changed_by => @user.person)
  18 + @article.save
  19 + get :send_email, :profile => @profile.identifier, :id => @article.id
  20 + assert_response :success
  21 + end
  22 +
  23 + should 'deny access to email article unless if profile admin' do
  24 + @profile = Community.create!(:name => 'Another community', :identifier => 'another-community')
  25 + @user = create_user('user-out-of-the-community')
  26 + login_as(@user.login)
  27 + @article = @profile.articles.create!(:name => 'a test article', :last_changed_by => @user.person)
  28 + @article.save
  29 + get :send_email, :profile => @profile.identifier, :id => @article.id
  30 + assert_response 403
  31 + end
  32 +
  33 +end
  34 +
  35 +
  36 +
  37 +
  38 +
  39 +
... ...