Commit 793f7219d5a529771720214beb33d225779891e2

Authored by Victor Costa
1 parent 156ae506

display_content: fix tests

plugins/display_content/test/functional/display_content_plugin_admin_controller_test.rb
... ... @@ -40,7 +40,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
40 40 Article.delete_all
41 41 get :index, :block_id => block.id
42 42 json_response = ActiveSupport::JSON.decode(@response.body)
43   - assert_equivalent [], json_response
  43 + assert_equal [], json_response
44 44 end
45 45  
46 46 should 'index action returns an json with node content' do
... ... @@ -52,7 +52,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
52 52 expected_json = {'data' => article.title}
53 53 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
54 54  
55   - assert_equivalent [expected_json], json_response
  55 + assert_hash_equivalent [expected_json], json_response
56 56 end
57 57  
58 58 should 'index action returns an json with node checked if the node is in the nodes list' do
... ... @@ -67,7 +67,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
67 67 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
68 68 expected_json['attr'].merge!({'class' => 'jstree-checked'})
69 69  
70   - assert_equivalent [expected_json], json_response
  70 + assert_hash_equivalent [expected_json], json_response
71 71 end
72 72  
73 73 should 'index action returns an json with node undetermined if the node is in the parent nodes list' do
... ... @@ -95,7 +95,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
95 95 expected_json['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
96 96 expected_json['state'] = 'closed'
97 97  
98   - assert_equivalent [expected_json], json_response
  98 + assert_hash_equivalent [expected_json], json_response
99 99 end
100 100  
101 101 should 'index action returns an json with all the children nodes if some parent is in the parents list' do
... ... @@ -118,7 +118,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
118 118 expected_json['children'] = children
119 119 expected_json['state'] = 'closed'
120 120  
121   - assert_equivalent [expected_json], json_response
  121 + assert_hash_equivalent [expected_json], json_response
122 122 end
123 123  
124 124 should 'index action returns an json with all the children nodes and root nodes if some parent is in the parents list and there is others root articles' do
... ... @@ -148,7 +148,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
148 148 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id, "class" => "jstree-checked"}
149 149 expected_json.push(value)
150 150  
151   - assert_equivalent expected_json, json_response
  151 + assert_hash_equivalent expected_json, json_response
152 152 end
153 153  
154 154 should 'index action returns an json without children nodes if the parent is not in the parents list' do
... ... @@ -170,7 +170,7 @@ class DisplayContentPluginAdminControllerTest < ActionController::TestCase
170 170 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
171 171 expected_json.push(value)
172 172  
173   - assert_equivalent expected_json, json_response
  173 + assert_hash_equivalent expected_json, json_response
174 174 end
175 175  
176 176 end
... ...
plugins/display_content/test/functional/display_content_plugin_myprofile_controller_test.rb
... ... @@ -41,7 +41,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
41 41 Article.delete_all
42 42 get :index, :block_id => block.id, :profile => profile.identifier
43 43 json_response = ActiveSupport::JSON.decode(@response.body)
44   - assert_equivalent [], json_response
  44 + assert_equal [], json_response
45 45 end
46 46  
47 47 should 'index action returns an json with node content' do
... ... @@ -53,7 +53,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
53 53 expected_json = {'data' => article.title}
54 54 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
55 55  
56   - assert_equivalent [expected_json], json_response
  56 + assert_hash_equivalent [expected_json], json_response
57 57 end
58 58  
59 59 should 'index action returns an json with node checked if the node is in the nodes list' do
... ... @@ -68,7 +68,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
68 68 expected_json['attr'] = { 'node_id' => article.id, 'parent_id' => article.parent_id}
69 69 expected_json['attr'].merge!({'class' => 'jstree-checked'})
70 70  
71   - assert_equivalent [expected_json], json_response
  71 + assert_hash_equivalent [expected_json], json_response
72 72 end
73 73  
74 74 should 'index action returns an json with node undetermined if the node is in the parent nodes list' do
... ... @@ -97,7 +97,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
97 97 expected_json['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
98 98 expected_json['state'] = 'closed'
99 99  
100   - assert_equivalent [expected_json], json_response
  100 + assert_hash_equivalent [expected_json], json_response
101 101 end
102 102  
103 103 should 'index action returns an json with all the children nodes if some parent is in the parents list' do
... ... @@ -120,26 +120,26 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
120 120 expected_json['children'] = children
121 121 expected_json['state'] = 'closed'
122 122  
123   - assert_equivalent [expected_json], json_response
124   - end
125   -
126   - should 'index action returns an json with all the children nodes and root nodes if some parent is in the parents list and there is others root articles' do
127   - Article.delete_all
128   - f = fast_create(Folder, :name => 'test folder 1', :profile_id => profile.id)
129   - a1 = fast_create(TextileArticle, :name => 'test article 1', :profile_id => profile.id, :parent_id => f.id)
130   - a2 = fast_create(TextileArticle, :name => 'test article 2', :profile_id => profile.id, :parent_id => f.id)
131   - a3 = fast_create(TextileArticle, :name => 'test article 3', :profile_id => profile.id)
132   - block.checked_nodes = {a1.id => true}
133   - block.save!
134   -
135   - get :index, :block_id => block.id, :profile => profile.identifier
136   - json_response = ActiveSupport::JSON.decode(@response.body)
137   - expected_json = []
138   - value = {'data' => f.title}
139   - value['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
140   - children = [
141   - {'data' => a1.title, 'attr' => {'node_id' => a1.id, 'parent_id' => a1.parent_id, "class" => "jstree-checked"}},
142   - {'data' => a2.title, 'attr' => {'node_id' => a2.id, 'parent_id'=> a2.parent_id}}
  123 + assert_hash_equivalent [expected_json], json_response
  124 + end
  125 +
  126 + should 'index action returns an json with all the children nodes and root nodes if some parent is in the parents list and there is others root articles' do
  127 + Article.delete_all
  128 + f = fast_create(Folder, :name => 'test folder 1', :profile_id => profile.id)
  129 + a1 = fast_create(TextileArticle, :name => 'test article 1', :profile_id => profile.id, :parent_id => f.id)
  130 + a2 = fast_create(TextileArticle, :name => 'test article 2', :profile_id => profile.id, :parent_id => f.id)
  131 + a3 = fast_create(TextileArticle, :name => 'test article 3', :profile_id => profile.id)
  132 + block.checked_nodes = {a1.id => true}
  133 + block.save!
  134 +
  135 + get :index, :block_id => block.id, :profile => profile.identifier
  136 + json_response = ActiveSupport::JSON.decode(@response.body)
  137 + expected_json = []
  138 + value = {'data' => f.title}
  139 + value['attr'] = { 'node_id' => f.id, 'parent_id' => f.parent_id}
  140 + children = [
  141 + {'data' => a1.title, 'attr' => {'node_id' => a1.id, 'parent_id' => a1.parent_id, "class" => "jstree-checked"}},
  142 + {'data' => a2.title, 'attr' => {'node_id' => a2.id, 'parent_id'=> a2.parent_id}}
143 143 ]
144 144 value['attr'].merge!({'class' => 'jstree-undetermined'})
145 145 value['children'] = children
... ... @@ -150,7 +150,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
150 150 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
151 151 expected_json.push(value)
152 152  
153   - assert_equivalent expected_json, json_response
  153 + assert_hash_equivalent expected_json, json_response
154 154 end
155 155  
156 156 should 'index action returns an json without children nodes if the parent is not in the parents list' do
... ... @@ -172,7 +172,7 @@ class DisplayContentPluginMyprofileControllerTest < ActionController::TestCase
172 172 value['attr'] = { 'node_id' => a3.id, 'parent_id' => a3.parent_id}
173 173 expected_json.push(value)
174 174  
175   - assert_equivalent expected_json, json_response
  175 + assert_hash_equivalent expected_json, json_response
176 176 end
177 177  
178 178 end
... ...
plugins/display_content/test/test_helper.rb
1   -require File.dirname(__FILE__) + '/../../../test/test_helper'
  1 +require_relative "../../../test/test_helper"
  2 +
  3 +def sort_by_data(array)
  4 + return if array.blank?
  5 + array.each {|el| el['children'] = sort_by_data(el['children']) }
  6 + array.sort_by {|el| el['data']}
  7 +end
  8 +
  9 +def assert_hash_equivalent(expected, response)
  10 + assert_equal sort_by_data(expected), sort_by_data(response)
  11 +end
... ...