discourse-translator/spec/serializers/post_serializer_spec.rb
2019-05-13 11:08:27 +08:00

36 lines
965 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe PostSerializer do
let(:post) { Fabricate(:post) }
let(:user) { Fabricate(:user, locale: 'en') }
let(:serializer) { PostSerializer.new(post, scope: Guardian.new(user)) }
before do
SiteSetting.translator_enabled = true
SiteSetting.queue_jobs = true
end
describe '#can_translate' do
it { expect(serializer.can_translate).to eq(false) }
describe "when post detected lang matches user's locale" do
before do
post.custom_fields[DiscourseTranslator::DETECTED_LANG_CUSTOM_FIELD] = 'en'
post.save
end
it { expect(serializer.can_translate).to eq(false) }
end
describe "when post detected lang does not match user's locale" do
before do
post.custom_fields[DiscourseTranslator::DETECTED_LANG_CUSTOM_FIELD] = 'ja'
post.save
end
it { expect(serializer.can_translate).to eq(true) }
end
end
end