require 'rails_helper' RSpec.describe WowRace, type: :model do before :each do @wow_race = WowRace.new( faction: 'ALLIANCE', is_selectable: true, is_allied_race: false, race_id: 1 ) Mobility.with_locale('en-gb') do @wow_race.name = 'Blood Elf' @wow_race.male_name = 'Blood Elf' @wow_race.female_name = 'Blood Elf' @wow_race.translated_faction = 'Horde' end Mobility.with_locale('fr-fr') do @wow_race.name = 'Elfe de sang' @wow_race.male_name = 'Elfe de sang' @wow_race.female_name = 'Elfe de sang' @wow_race.translated_faction = 'Horde' end end it 'is valid with valid attributes' do expect(@wow_race).to be_valid end it 'race_id has to be uniq' do # set a race_id already used @wow_race.race_id = 24 expect(@wow_race).to_not be_valid end it 'name must be present' do # unset the name attribute @wow_race.name = nil expect(@wow_race).to_not be_valid end it 'translated attributes' do # Loaf Blood Elf blood_elf_race = WowRace.find_by(race_id: 10) Mobility.with_locale('en-gb') do expect(blood_elf_race.name).to eq('Blood Elf') expect(blood_elf_race.male_name).to eq('Blood Elf') expect(blood_elf_race.male_name).to eq('Blood Elf') expect(blood_elf_race.translated_faction).to eq('Horde') end Mobility.with_locale('fr-fr') do expect(blood_elf_race.name).to eq('Elfe de sang') expect(blood_elf_race.male_name).to eq('Elfe de sang') expect(blood_elf_race.male_name).to eq('Elfe de sang') expect(blood_elf_race.translated_faction).to eq('Horde') end end end