Commit 9f32ff062320f7004cf448cea0f9b5b13e33e48c

Authored by AntonioTerceiro
1 parent a3816174

ActionItem172: not calling unexisting methods


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1550 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/organization.rb
... ... @@ -6,6 +6,8 @@ class Organization < Profile
6 6  
7 7 has_one :validation_info
8 8  
  9 + has_many :validations, :class_name => 'CreateEnterprise', :foreign_key => :target_id
  10 +
9 11 after_create do |org|
10 12 OrganizationInfo.create!(:organization_id => org.id)
11 13 end
... ... @@ -23,19 +25,19 @@ class Organization < Profile
23 25 end
24 26  
25 27 def pending_validations
26   - CreateEnterprise.pending_for(self)
  28 + validations.pending
27 29 end
28 30  
29 31 def find_pending_validation(code)
30   - CreateEnterprise.pending_for(self, :code => code).first
  32 + validations.pending.find { |pending| pending.code == code }
31 33 end
32 34  
33 35 def processed_validations
34   - CreateEnterprise.processed_for(self)
  36 + validations.finished
35 37 end
36 38  
37 39 def find_processed_validation(code)
38   - CreateEnterprise.processed_for(self, :code => code).first
  40 + validations.finished.find { |pending| pending.code == code }
39 41 end
40 42  
41 43 def is_validation_entity?
... ...
test/unit/organization_test.rb
... ... @@ -3,6 +3,28 @@ require File.dirname(__FILE__) + '/../test_helper'
3 3 class OrganizationTest < Test::Unit::TestCase
4 4 fixtures :profiles
5 5  
  6 + def create_create_enterprise(org)
  7 + region = Region.create!(:name => 'some region', :environment => Environment.default)
  8 + region.validators << org
  9 +
  10 + requestor = create_user('testreq').person
  11 +
  12 + data = {
  13 + :name => 'My new enterprise',
  14 + :identifier => 'mynewenterprise',
  15 + :address => 'satan street, 666',
  16 + :contact_phone => '1298372198',
  17 + :contact_person => 'random joe',
  18 + :legal_form => 'cooperative',
  19 + :economic_activity => 'free software',
  20 + :region_id => region.id,
  21 + :requestor => requestor,
  22 + :target => org,
  23 + }
  24 + CreateEnterprise.create!(data)
  25 + end
  26 +
  27 +
6 28 should 'reference organization info' do
7 29 org = Organization.new
8 30 assert_raise ActiveRecord::AssociationTypeMismatch do
... ... @@ -62,36 +84,33 @@ class OrganizationTest &lt; Test::Unit::TestCase
62 84  
63 85 should 'list pending enterprise validations' do
64 86 org = Organization.new
65   - empty = []
66   - CreateEnterprise.expects(:pending_for).with(org).returns(empty)
67   - assert_same empty, org.pending_validations
  87 + assert_kind_of Array, org.pending_validations
68 88 end
69 89  
70 90 should 'be able to find a pending validation by its code' do
71   - org = Organization.new
72   - validation = mock
73   - CreateEnterprise.expects(:pending_for).with(org, { :code => 'lele'}).returns([validation])
74   - assert_same validation, org.find_pending_validation('lele')
  91 + org = Organization.create!(:name => 'test org', :identifier => 'testorg')
  92 +
  93 + validation = create_create_enterprise(org)
  94 +
  95 + ok('should find pending validation by code') { validation == org.find_pending_validation(validation.code) }
75 96 end
76 97  
77 98 should 'return nil when finding for an unexisting pending validation' do
78 99 org = Organization.new
79   - CreateEnterprise.expects(:pending_for).with(org, { :code => 'lele'}).returns([])
80   - assert_nil org.find_pending_validation('lele')
  100 + assert_nil org.find_pending_validation('xxxxxxxxxxxxxxxxxxx')
81 101 end
82 102  
83   - should 'be able to find already processed validations by target' do
  103 + should 'be able to find already processed validations' do
84 104 org = Organization.new
85   - empty = mock
86   - CreateEnterprise.expects(:processed_for).with(org).returns(empty)
87   - assert_same empty, org.processed_validations
  105 + assert_kind_of Array, org.processed_validations
88 106 end
89 107  
90 108 should 'be able to find an already processed validation by its code' do
91   - org = Organization.new
92   - empty = mock
93   - CreateEnterprise.expects(:processed_for).with(org, {:code => 'lalalala'}).returns([empty])
94   - assert_same empty, org.find_processed_validation('lalalala')
  109 + org = Organization.create!(:name => 'test org', :identifier => 'testorg')
  110 + validation = create_create_enterprise(org)
  111 + validation.finish
  112 +
  113 + ok('should find processed validation by code') { validation == org.find_processed_validation(validation.code) }
95 114 end
96 115  
97 116 should 'have boxes and blocks upon creation' do
... ...