Commit b07f1b191d4f5e3bd38a034c14533d25935f1780
Exists in
master
and in
29 other branches
Merge commit 'refs/merge-requests/116' of git://gitorious.org/noosfero/noosfero …
…into merge-requests/116
Showing
2 changed files
with
15 additions
and
2 deletions
Show diff stats
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 |