mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: upload watched words should use UTF-8
This commit is contained in:
parent
1f1d3909e5
commit
1812a38f0a
@ -25,7 +25,7 @@ class Admin::WatchedWordsController < Admin::AdminController
|
|||||||
|
|
||||||
Scheduler::Defer.later("Upload watched words") do
|
Scheduler::Defer.later("Upload watched words") do
|
||||||
begin
|
begin
|
||||||
File.open(file.tempfile, encoding: "ISO-8859-1").each_line do |line|
|
File.open(file.tempfile, encoding: "bom|utf-8").each_line do |line|
|
||||||
WatchedWord.create_or_update_word(word: line, action_key: action_key) unless line.empty?
|
WatchedWord.create_or_update_word(word: line, action_key: action_key) unless line.empty?
|
||||||
end
|
end
|
||||||
data = { url: '/ok' }
|
data = { url: '/ok' }
|
||||||
|
6
spec/fixtures/csv/words.csv
vendored
Normal file
6
spec/fixtures/csv/words.csv
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
thread
|
||||||
|
线
|
||||||
|
धागा
|
||||||
|
실
|
||||||
|
tråd
|
||||||
|
нить
|
|
@ -179,4 +179,25 @@ describe WatchedWord do
|
|||||||
}.to_not change { PostAction.count }
|
}.to_not change { PostAction.count }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'upload' do
|
||||||
|
context 'logged in as admin' do
|
||||||
|
before do
|
||||||
|
sign_in(admin)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates the words from the file' do
|
||||||
|
post '/admin/logs/watched_words/upload.json', params: {
|
||||||
|
action_key: 'flag',
|
||||||
|
file: Rack::Test::UploadedFile.new(file_from_fixtures("words.csv", "csv"))
|
||||||
|
}
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
expect(WatchedWord.count).to eq(6)
|
||||||
|
expect(WatchedWord.pluck(:word)).to contain_exactly(
|
||||||
|
'thread', '线', 'धागा', '실', 'tråd', 'нить'
|
||||||
|
)
|
||||||
|
expect(WatchedWord.pluck(:action).uniq).to eq([WatchedWord.actions[:flag]])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user