Testing Sequence Attribute Generation in factory_bot
This test suite examines the sequence attribute functionality in FactoryBot, focusing on how sequential values are generated and assigned. It validates the core sequence generation mechanism used for creating unique test data values with predictable patterns.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
thoughtbot/factory_bot
spec/factory_bot/attribute/sequence_spec.rb
describe FactoryBot::Attribute::Sequence do
let(:sequence_name) { :name }
let(:name) { :first_name }
let(:sequence) { FactoryBot::Sequence.new(sequence_name, 5) { |n| "Name #{n}" } }
subject { FactoryBot::Attribute::Sequence.new(name, sequence_name, false) }
before { FactoryBot::Internal.register_sequence(sequence) }
its(:name) { should eq name }
it "assigns the next value in the sequence" do
expect(subject.to_proc.call).to eq "Name 5"
end
end