Commit b07f1b191d4f5e3bd38a034c14533d25935f1780

Authored by Daniela Feitosa
2 parents 597312cb 1ce6204e

Merge commit 'refs/merge-requests/116' of git://gitorious.org/noosfero/noosfero …

…into merge-requests/116
app/models/feed_reader_block.rb
@@ -13,6 +13,7 @@ class FeedReaderBlock < Block @@ -13,6 +13,7 @@ class FeedReaderBlock < Block
13 old_address = address 13 old_address = address
14 orig_set_address(new_address) 14 orig_set_address(new_address)
15 self.enabled = (new_address && new_address != old_address) || (new_address && self.enabled) || false 15 self.enabled = (new_address && new_address != old_address) || (new_address && self.enabled) || false
  16 + self.fetched_at = nil
16 end 17 end
17 18
18 settings_items :limit, :type => :integer 19 settings_items :limit, :type => :integer
@@ -71,6 +72,7 @@ class FeedReaderBlock < Block @@ -71,6 +72,7 @@ class FeedReaderBlock < Block
71 self.feed_title = nil 72 self.feed_title = nil
72 self.error_message = nil 73 self.error_message = nil
73 end 74 end
  75 +
74 def finish_fetch 76 def finish_fetch
75 self.fetched_at = Time.now 77 self.fetched_at = Time.now
76 self.save! 78 self.save!
test/unit/feed_reader_block_test.rb
@@ -127,7 +127,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase @@ -127,7 +127,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase
127 Time.stubs(:now).returns(now - 3.hours) 127 Time.stubs(:now).returns(now - 3.hours)
128 not_expired.finish_fetch 128 not_expired.finish_fetch
129 129
130 - # now one block should be expired and the not the other 130 + # now one block should be expired and not the other
131 Time.stubs(:now).returns(now) 131 Time.stubs(:now).returns(now)
132 expired_list = FeedReaderBlock.expired 132 expired_list = FeedReaderBlock.expired
133 assert_includes expired_list, expired 133 assert_includes expired_list, expired
@@ -156,6 +156,17 @@ class FeedReaderBlockTest < ActiveSupport::TestCase @@ -156,6 +156,17 @@ class FeedReaderBlockTest < ActiveSupport::TestCase
156 assert_equal true, reader.enabled 156 assert_equal true, reader.enabled
157 end 157 end
158 158
  159 + should 'be expired when address is updated' do
  160 + reader = build(:feed_reader_block, :address => 'http://www.example.com/feed')
  161 + reader.finish_fetch
  162 + expired_list = FeedReaderBlock.expired
  163 + assert_not_includes expired_list, reader
  164 + reader.address = "http://www.example.com/new-feed"
  165 + reader.save!
  166 + expired_list = FeedReaderBlock.expired
  167 + assert_includes expired_list, reader
  168 + end
  169 +
159 should 'be disabled when address is empty' do 170 should 'be disabled when address is empty' do
160 reader = build(:feed_reader_block, :enabled => true, :address => 'http://www.example.com/feed') 171 reader = build(:feed_reader_block, :enabled => true, :address => 'http://www.example.com/feed')
161 reader.address = nil 172 reader.address = nil
@@ -173,7 +184,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase @@ -173,7 +184,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase
173 assert_equal true, reader.enabled, 'must enable when setting to new address' 184 assert_equal true, reader.enabled, 'must enable when setting to new address'
174 end 185 end
175 186
176 - should 'kepp enable when address is not changed' do 187 + should 'keep enable when address is not changed' do
177 reader = build(:feed_reader_block, :address => 'http://www.example.com/feed') 188 reader = build(:feed_reader_block, :address => 'http://www.example.com/feed')
178 reader.address = 'http://www.example.com/feed' 189 reader.address = 'http://www.example.com/feed'
179 assert_equal true, reader.enabled 190 assert_equal true, reader.enabled