Files
site/spec/models/wow_race_spec.rb

62 lines
1.6 KiB
Ruby

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