Merge pull request #5261 from xrav3nz/fix-rebake-match-rake

FIX: `post:rebake_match` rake task
This commit is contained in:
Arpit Jalan 2017-10-25 10:22:56 +05:30 committed by GitHub
commit efbd923f60
2 changed files with 18 additions and 5 deletions

View File

@ -58,10 +58,12 @@ task 'posts:rebake_match', [:pattern, :type, :delay] => [:environment] do |_, ar
exit 1
end
search = Post.raw_match(pattern, type)
rebaked = 0
total = search.count
Post.raw_match(pattern, type).find_each do |post|
search.find_each do |post|
rebake_post(post)
print_status(rebaked += 1, total)
sleep(delay) if delay

View File

@ -3,6 +3,9 @@ require 'highline/import'
require 'highline/simulate'
RSpec.describe "Post rake tasks" do
let!(:post) { Fabricate(:post, raw: 'The quick brown fox jumps over the lazy dog') }
let!(:tricky_post) { Fabricate(:post, raw: 'Today ^Today') }
before do
Rake::Task.clear
Discourse::Application.load_tasks
@ -10,11 +13,7 @@ RSpec.describe "Post rake tasks" do
end
describe 'remap' do
let!(:tricky_post) { Fabricate(:post, raw: 'Today ^Today') }
it 'should remap posts' do
post = Fabricate(:post, raw: "The quick brown fox jumps over the lazy dog")
HighLine::Simulate.with('y') do
Rake::Task['posts:remap'].invoke("brown", "red")
end
@ -43,4 +42,16 @@ RSpec.describe "Post rake tasks" do
end
end
end
describe 'rebake_match' do
it 'rebakes matched posts' do
post.update_attributes(cooked: '')
HighLine::Simulate.with('y') do
Rake::Task['posts:rebake_match'].invoke('brown')
end
expect(post.reload.cooked).to eq('<p>The quick brown fox jumps over the lazy dog</p>')
end
end
end