Commit e81d08b31e09a6836ccc3deab9cd0f555e31f3b5

Authored by Antonio Terceiro
1 parent f4aa3784

Abstrating documentation tests

They are need in DocControlller tests as well in order to not depend on
the docs being built during tests
test/functional/doc_controller_test.rb
... ... @@ -2,6 +2,16 @@ require File.dirname(__FILE__) + '/../test_helper'
2 2  
3 3 class DocControllerTest < ActionController::TestCase
4 4  
  5 + include Noosfero::DocTest
  6 +
  7 + def setup
  8 + setup_doc_test
  9 + end
  10 +
  11 + def tear_down
  12 + tear_down_doc_test
  13 + end
  14 +
5 15 should 'load toc in the root' do
6 16 get :index
7 17 assert_kind_of DocItem, assigns(:toc)
... ...
test/noosfero_doc_test.rb 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +module Noosfero::DocTest
  2 +
  3 + ROOT = File.join(Rails.root, "test", "tmp", "doc")
  4 +
  5 + def create_doc(section, topic, language, title)
  6 + dir = File.join(ROOT, section)
  7 + FileUtils.mkdir_p(dir)
  8 + File.open("#{dir}/#{topic}.#{language}.xhtml", "w") do |f|
  9 + f.puts "<h1>#{title}</h1>"
  10 + end
  11 + end
  12 +
  13 + def setup_doc_test
  14 + FileUtils.mkdir_p(ROOT)
  15 +
  16 + # root
  17 + create_doc('', 'index', 'en', 'Root')
  18 + create_doc('', 'toc', 'en', 'Root')
  19 + # cms
  20 + create_doc('cms', 'index', 'en', 'Content Management')
  21 + create_doc('cms', 'index', 'pt', 'Gerenciamento de conteúdo')
  22 + create_doc('cms', 'toc', 'en', '')
  23 + create_doc('cms', 'toc', 'pt', '')
  24 + create_doc('cms', 'adding-pictures', 'en', 'Adding pictures to gallery')
  25 + create_doc('cms', 'adding-pictures', 'pt', 'Adicionando fotos na galeria')
  26 + create_doc('cms', 'creating-a-blog', 'en', 'Creating a blog')
  27 + create_doc('cms', 'creating-a-blog', 'pt', 'Criando um blog')
  28 + # user
  29 + create_doc('user', 'index', 'en', 'User features')
  30 + create_doc('user', 'index', 'pt', 'Funcionalidades de Usuário')
  31 + create_doc('user', 'toc', 'en', '')
  32 + create_doc('user', 'toc', 'pt', '')
  33 + create_doc('user', 'accepting-friends', 'en', 'Accepting friends')
  34 + create_doc('user', 'accepting-friends', 'pt', 'Aceitando amigos')
  35 +
  36 + DocSection.stubs(:root_dir).returns(ROOT)
  37 + end
  38 +
  39 + def tear_down_doc_test
  40 + FileUtils.rm_rf(ROOT)
  41 + end
  42 +end
... ...
test/test_helper.rb
... ... @@ -7,6 +7,7 @@ require &#39;hpricot&#39;
7 7  
8 8 require 'noosfero/test'
9 9 require File.dirname(__FILE__) + '/factories'
  10 +require File.dirname(__FILE__) + '/noosfero_doc_test'
10 11  
11 12 FileUtils.rm_rf(File.join(RAILS_ROOT, 'index', 'test'))
12 13  
... ...
test/unit/doc_section_test.rb
... ... @@ -2,43 +2,14 @@ require &#39;test_helper&#39;
2 2  
3 3 class DocSectionTest < ActiveSupport::TestCase
4 4  
5   - ROOT = File.join(Rails.root, "test", "tmp", "doc")
6   -
7   - def create_doc(section, topic, language, title)
8   - dir = File.join(ROOT, section)
9   - FileUtils.mkdir_p(dir)
10   - File.open("#{dir}/#{topic}.#{language}.xhtml", "w") do |f|
11   - f.puts "<h1>#{title}</h1>"
12   - end
13   - end
  5 + include Noosfero::DocTest
14 6  
15 7 def setup
16   - FileUtils.mkdir_p(ROOT)
17   -
18   - # root
19   - create_doc('', 'index', 'en', 'Root')
20   - create_doc('', 'toc', 'en', 'Root')
21   - # cms
22   - create_doc('cms', 'index', 'en', 'Content Management')
23   - create_doc('cms', 'index', 'pt', 'Gerenciamento de conteúdo')
24   - create_doc('cms', 'toc', 'en', '')
25   - create_doc('cms', 'toc', 'pt', '')
26   - create_doc('cms', 'adding-pictures', 'en', 'Adding pictures to gallery')
27   - create_doc('cms', 'adding-pictures', 'pt', 'Adicionando fotos na galeria')
28   - create_doc('cms', 'creating-a-blog', 'en', 'Creating a blog')
29   - create_doc('cms', 'creating-a-blog', 'pt', 'Criando um blog')
30   - # user
31   - create_doc('user', 'index', 'en', 'User features')
32   - create_doc('user', 'index', 'pt', 'Funcionalidades de Usuário')
33   - create_doc('user', 'toc', 'en', '')
34   - create_doc('user', 'toc', 'pt', '')
35   - create_doc('user', 'accepting-friends', 'en', 'Accepting friends')
36   -
37   - DocSection.stubs(:root_dir).returns(ROOT)
  8 + setup_doc_test
38 9 end
39 10  
40 11 def tear_down
41   - FileUtils.rm_rf(ROOT)
  12 + tear_down_doc_test
42 13 end
43 14  
44 15 should 'be a DocItem' do
... ...