36 lines
1023 B
Ruby
36 lines
1023 B
Ruby
require "rails_helper"
|
|
|
|
describe Budget::Group do
|
|
it_behaves_like "sluggable", updatable_slug_trait: :drafting_budget
|
|
|
|
describe "Validations" do
|
|
|
|
let(:budget) { create(:budget) }
|
|
let(:group) { create(:budget_group, budget: budget) }
|
|
|
|
describe "name" do
|
|
before do
|
|
group.update(name: "object name")
|
|
end
|
|
|
|
it "can be repeatead in other budget's groups" do
|
|
expect(build(:budget_group, budget: create(:budget), name: "object name")).to be_valid
|
|
end
|
|
|
|
it "may be repeated for the same group and a different locale" do
|
|
group.update(name_fr: "object name")
|
|
|
|
expect(group.translations.last).to be_valid
|
|
end
|
|
|
|
it "must not be repeated for a different group in any locale" do
|
|
group.update(name_en: "English", name_es: "Español")
|
|
|
|
expect(build(:budget_group, budget: budget, name_en: "English")).not_to be_valid
|
|
expect(build(:budget_group, budget: budget, name_en: "Español")).not_to be_valid
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|