discourse/spec/jobs/check_translation_overrides...

39 lines
1.4 KiB
Ruby

# frozen_string_literal: true
RSpec.describe Jobs::CheckTranslationOverrides do
fab!(:up_to_date_translation) { Fabricate(:translation_override, translation_key: "title") }
fab!(:deprecated_translation) do
allow_missing_translations { Fabricate(:translation_override, translation_key: "foo.bar") }
end
fab!(:outdated_translation) do
Fabricate(:translation_override, translation_key: "posts", original_translation: "outdated")
end
fab!(:invalid_translation) { Fabricate(:translation_override, translation_key: "topics") }
it "marks translations with keys which no longer exist in the locale file" do
expect { described_class.new.execute({}) }.to change {
deprecated_translation.reload.status
}.from("up_to_date").to("deprecated")
end
it "marks translations with invalid interpolation keys" do
invalid_translation.update_attribute("value", "Invalid %{foo}")
expect { described_class.new.execute({}) }.to change { invalid_translation.reload.status }.from(
"up_to_date",
).to("invalid_interpolation_keys")
end
it "marks translations that are outdated" do
expect { described_class.new.execute({}) }.to change {
outdated_translation.reload.status
}.from("up_to_date").to("outdated")
end
it "does not mark up to date translations" do
expect { described_class.new.execute({}) }.not_to change {
up_to_date_translation.reload.status
}
end
end