62 lines
1.6 KiB
Ruby
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
|