hensei-api/spec/factories/collection_artifacts.rb
Justin Edmund 623661eb2c fix artifact test factories and specs
use unique granblue_ids, default to empty skills, fix element matching
2025-12-03 13:27:40 -08:00

67 lines
1.6 KiB
Ruby

# frozen_string_literal: true
FactoryBot.define do
factory :collection_artifact do
association :user
association :artifact
element { 'fire' }
level { 1 }
proficiency { nil }
nickname { nil }
# Default to empty skills to avoid validation issues without seeded data
skill1 { {} }
skill2 { {} }
skill3 { {} }
skill4 { {} }
trait :with_skills do
# Use this trait after seeding artifact skills in your test
skill1 { { 'modifier' => 1, 'strength' => 1800, 'level' => 1 } }
skill2 { { 'modifier' => 2, 'strength' => 900, 'level' => 1 } }
skill3 { { 'modifier' => 1, 'strength' => 18.0, 'level' => 1 } }
skill4 { { 'modifier' => 1, 'strength' => 10, 'level' => 1 } }
end
trait :max_level do
level { 5 }
skill1 { { 'modifier' => 1, 'strength' => 1800, 'level' => 2 } }
skill2 { { 'modifier' => 2, 'strength' => 900, 'level' => 2 } }
skill3 { { 'modifier' => 1, 'strength' => 18.0, 'level' => 2 } }
skill4 { { 'modifier' => 1, 'strength' => 10, 'level' => 2 } }
end
trait :quirk do
association :artifact, factory: [:artifact, :quirk]
proficiency { :sabre }
level { 1 }
skill1 { {} }
skill2 { {} }
skill3 { {} }
skill4 { {} }
end
trait :with_nickname do
nickname { 'My Favorite Artifact' }
end
trait :water do
element { 'water' }
end
trait :earth do
element { 'earth' }
end
trait :wind do
element { 'wind' }
end
trait :light do
element { 'light' }
end
trait :dark do
element { 'dark' }
end
end
end