Commit 982fcc8548a764d812ce19aceebd0aed0e64efc2

Authored by Gabriela Navarro
1 parent ee50ba4e

Add tests for software communities plugin controller

Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
test/functional/software_communities_plugin_controller_test.rb
@@ -4,7 +4,6 @@ require File.dirname(__FILE__) + &#39;/../../controllers/software_communities_plugin @@ -4,7 +4,6 @@ require File.dirname(__FILE__) + &#39;/../../controllers/software_communities_plugin
4 class SoftwareCommunitiesPluginController; def rescue_action(e) raise e end; end 4 class SoftwareCommunitiesPluginController; def rescue_action(e) raise e end; end
5 5
6 class SoftwareCommunitiesPluginControllerTest < ActionController::TestCase 6 class SoftwareCommunitiesPluginControllerTest < ActionController::TestCase
7 -  
8 def setup 7 def setup
9 @admin = create_user("adminuser").person 8 @admin = create_user("adminuser").person
10 @admin.stubs(:has_permission?).returns("true") 9 @admin.stubs(:has_permission?).returns("true")
@@ -15,33 +14,103 @@ class SoftwareCommunitiesPluginControllerTest &lt; ActionController::TestCase @@ -15,33 +14,103 @@ class SoftwareCommunitiesPluginControllerTest &lt; ActionController::TestCase
15 @environment.add_admin(@admin) 14 @environment.add_admin(@admin)
16 @environment.save 15 @environment.save
17 16
18 - @gov_power = GovernmentalPower.create(:name=>"Some Gov Power")  
19 - @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")  
20 - @juridical_nature = JuridicalNature.create(:name => "Autarquia") 17 + LicenseInfo.create(:version=>"CC-GPL-V2", :link=>"http://creativecommons.org/licenses/GPL/2.0/legalcode.pt")
  18 + LicenseInfo.create(:version=>"Academic Free License 3.0 (AFL-3.0)", :link=>"http://www.openfoundry.org/en/licenses/753-academic-free-license-version-30-afl")
  19 + LicenseInfo.create(:version=>"Apache License 2.0 (Apache-2.0)", :link=>"http://www.apache.org/licenses/LICENSE-2.0")
  20 + LicenseInfo.create(:version=>'BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)', :link=>"http://opensource.org/licenses/BSD-2-Clause")
  21 +
  22 + ProgrammingLanguage.create(:name =>"Java")
  23 + ProgrammingLanguage.create(:name =>"Ruby")
  24 + ProgrammingLanguage.create(:name =>"C")
  25 + ProgrammingLanguage.create(:name =>"C++")
  26 + DatabaseDescription.create(:name => "PostgreSQL")
  27 + DatabaseDescription.create(:name => "MySQL")
  28 + DatabaseDescription.create(:name => "MongoDB")
  29 + DatabaseDescription.create(:name => "Oracle")
  30 + OperatingSystemName.create(:name=>"Debian")
  31 +
21 @response = ActionController::TestResponse.new 32 @response = ActionController::TestResponse.new
  33 + end
  34 +
  35 + should 'return the licenses datas' do
  36 + xhr :get, :get_license_data, :query => ""
  37 +
  38 + licenses = JSON.parse(@response.body)
  39 +
  40 + assert_equal 4, licenses.count
  41 + end
  42 +
  43 + should 'return licenses that has Free on their version name' do
  44 + xhr :get, :get_license_data, :query => "Free"
  45 +
  46 + licenses = JSON.parse(@response.body)
  47 +
  48 + assert_equal 2, licenses.count
  49 + end
  50 +
  51 + should 'return no licenses that has Common on their version name' do
  52 + xhr :get, :get_license_data, :query => "Common"
  53 +
  54 + licenses = JSON.parse(@response.body)
  55 +
  56 + assert_equal 0, licenses.count
  57 + end
  58 +
  59 + should 'render block template' do
  60 + xhr :get, :get_block_template
  61 +
  62 + assert_tag :tag => 'input', :attributes => { :class => "block_download_name" }
  63 + assert_tag :tag => 'input', :attributes => { :class => "block_download_link" }
  64 + assert_tag :tag => 'input', :attributes => { :class => "block_download_software_description" }
  65 + assert_tag :tag => 'input', :attributes => { :class => "block_download_minimum_requirements" }
  66 + assert_tag :tag => 'input', :attributes => { :class => "block_download_size" }
  67 + end
  68 +
  69 + should 'return the programming languages' do
  70 + xhr :get, :get_field_data, :query => "", :field => "software_language"
  71 +
  72 + languages = JSON.parse(@response.body)
  73 +
  74 + assert_equal 4, languages.count
  75 + end
  76 +
  77 + should 'return the programming languages that has C on their name' do
  78 + xhr :get, :get_field_data, :query => "C", :field => "software_language"
  79 +
  80 + languages = JSON.parse(@response.body)
  81 +
  82 + assert_equal 2, languages.count
  83 + end
  84 +
  85 + should 'dont return the programming languages that has HTML on their name' do
  86 + xhr :get, :get_field_data, :query => "HTML", :field => "software_language"
  87 +
  88 + languages = JSON.parse(@response.body)
  89 +
  90 + assert_equal 1, languages.count
  91 + end
  92 +
  93 + should 'return the databases' do
  94 + xhr :get, :get_field_data, :query => "", :field => "software_database"
  95 +
  96 + databases = JSON.parse(@response.body)
  97 +
  98 + assert_equal 4, databases.count
  99 + end
  100 +
  101 + should 'return the databases that has SQL on their name' do
  102 + xhr :get, :get_field_data, :query => "SQL", :field => "software_database"
  103 +
  104 + databases = JSON.parse(@response.body)
  105 +
  106 + assert_equal 3, databases.count
  107 + end
  108 +
  109 + should 'dont return the database that has on their name' do
  110 + xhr :get, :get_field_data, :query => "Cache", :field => "software_database"
  111 +
  112 + databases = JSON.parse(@response.body)
22 113
23 - @institution_list = []  
24 - @institution_list << InstitutionTestHelper.create_public_institution(  
25 - "Ministerio Publico da Uniao",  
26 - "MPU",  
27 - "BR",  
28 - "DF",  
29 - "Gama",  
30 - @juridical_nature,  
31 - @gov_power,  
32 - @gov_sphere,  
33 - "12.345.678/9012-45"  
34 - )  
35 - @institution_list << InstitutionTestHelper.create_public_institution(  
36 - "Tribunal Regional da Uniao",  
37 - "TRU",  
38 - "BR",  
39 - "DF",  
40 - "Brasilia",  
41 - @juridical_nature,  
42 - @gov_power,  
43 - @gov_sphere,  
44 - "12.345.678/9012-90"  
45 - ) 114 + assert_equal 1, databases.count
46 end 115 end
47 end 116 end