Commit 1ce6204ee3d6403312b0cc735a38a72aa8053eb1
1 parent
645a7610
Exists in
master
and in
22 other branches
Updates feed block after address update
. Also fixing some typos (ActionItem1565)
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 | 13 | old_address = address |
| 14 | 14 | orig_set_address(new_address) |
| 15 | 15 | self.enabled = (new_address && new_address != old_address) || (new_address && self.enabled) || false |
| 16 | + self.fetched_at = nil | |
| 16 | 17 | end |
| 17 | 18 | |
| 18 | 19 | settings_items :limit, :type => :integer |
| ... | ... | @@ -71,6 +72,7 @@ class FeedReaderBlock < Block |
| 71 | 72 | self.feed_title = nil |
| 72 | 73 | self.error_message = nil |
| 73 | 74 | end |
| 75 | + | |
| 74 | 76 | def finish_fetch |
| 75 | 77 | self.fetched_at = Time.now |
| 76 | 78 | self.save! | ... | ... |
test/unit/feed_reader_block_test.rb
| ... | ... | @@ -127,7 +127,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase |
| 127 | 127 | Time.stubs(:now).returns(now - 3.hours) |
| 128 | 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 | 131 | Time.stubs(:now).returns(now) |
| 132 | 132 | expired_list = FeedReaderBlock.expired |
| 133 | 133 | assert_includes expired_list, expired |
| ... | ... | @@ -156,6 +156,17 @@ class FeedReaderBlockTest < ActiveSupport::TestCase |
| 156 | 156 | assert_equal true, reader.enabled |
| 157 | 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 | 170 | should 'be disabled when address is empty' do |
| 160 | 171 | reader = build(:feed_reader_block, :enabled => true, :address => 'http://www.example.com/feed') |
| 161 | 172 | reader.address = nil |
| ... | ... | @@ -173,7 +184,7 @@ class FeedReaderBlockTest < ActiveSupport::TestCase |
| 173 | 184 | assert_equal true, reader.enabled, 'must enable when setting to new address' |
| 174 | 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 | 188 | reader = build(:feed_reader_block, :address => 'http://www.example.com/feed') |
| 178 | 189 | reader.address = 'http://www.example.com/feed' |
| 179 | 190 | assert_equal true, reader.enabled | ... | ... |