Skip to content

Helpful Scripts for Local Development

Brad Bodine edited this page Jan 23, 2025 · 1 revision

Generate Dummy Emails for Brokers

# First let's see what broker roles exist
broker_roles = BrokerRole.all
puts "Found #{broker_roles.count} total broker roles"

# Get all broker roles that are either active or pending
working_brokers = broker_roles.select { |br| ['active', 'broker_agency_pending'].include?(br.aasm_state) }
puts "Found #{working_brokers.count} working brokers"

# Generate 5 test emails for each broker
working_brokers.each do |broker|
  5.times do |i|
    subject = ["New Client Application", "Policy Update", "Enrollment Status", "Commission Report", "Benefit Changes"][i]
    body = "This is test message #{i + 1} for broker testing purposes. Please disregard this message."
    
    begin
      message = broker.person.inbox.messages.build(
        subject: subject,
        body: body,
        from: "system@example.com",
        created_at: Time.now - i.days
      )
      message.save!
      puts "Created message '#{subject}' for broker #{broker.person.full_name}"
    rescue => e
      puts "Error creating message for broker #{broker.person&.full_name}: #{e.message}"
    end
  end
end

puts "\nSummary:"
puts "Generated #{working_brokers.count * 5} test messages for #{working_brokers.count} brokers"

Clone this wiki locally