view vendor/plugins/redmine_checkout/spec/macros/macro_spec.rb @ 547:56ad0c490f5e feature_36

Closes Bug #217. The project_id parameter is now being sent in all links. This may generate some errors when outside a project, but I shall file new issues as I detect them.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Fri, 29 Jul 2011 19:15:26 +0100
parents 020926a36823
children
line wrap: on
line source
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe "Macros" do
  fixtures :settings, :repositories, :projects, :enabled_modules
  
  include ERB::Util
  include ApplicationHelper
  include ActionView::Helpers::TextHelper
  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::UrlHelper

  before(:each) do
    Setting.checkout_display_command_Subversion = '0'
    
    @project = projects :projects_001
  end
  
  
  it "should display default checkout url" do
    text = "{{repository}}"
    
    url = "file:///#{RAILS_ROOT.gsub(%r{config\/\.\.}, '')}/tmp/test/subversion_repository"
    textilizable(text).should eql "<p><a href=\"#{url}\">#{url}</a></p>"
  end

  it "should display forced checkout url" do
    text = "{{repository(svn+ssh)}}"
    
    url = 'svn+ssh://subversion_repository@svn.foo.bar/svn'
    textilizable(text).should eql "<p><a href=\"#{url}\">#{url}</a></p>"
  end

  it "should fail without set project" do
    @project = nil
    
    text = "{{repository(svn+ssh)}}"
    textilizable(text).should eql "<p><div class=\"flash error\">Error executing the <strong>repository</strong> macro (Checkout protocol svn+ssh not found)</div></p>"
  end

  it "should display checkout url from stated project" do
    @project = nil
    text = "{{repository(ecookbook:svn+ssh)}}"
    
    url = 'svn+ssh://subversion_repository@svn.foo.bar/svn'
    textilizable(text).should eql "<p><a href=\"#{url}\">#{url}</a></p>"
  end
  
  it "should display command" do
    Setting.checkout_display_command_Subversion = '1'
    
    text = "{{repository(svn+ssh)}}"
    url = 'svn+ssh://subversion_repository@svn.foo.bar/svn'
    textilizable(text).should eql "<p>svn co <a href=\"#{url}\">#{url}</a></p>"
  end
end