Add complete user onboarding flow that redirects new users to complete their profile before accessing the application: - Add onboarding_completed boolean field to users with migration - Create OnboardingController with form validation and completion logic - Design professional onboarding UI with progressive disclosure for company info - Implement Stimulus controller for toggling company information section - Add application-wide redirect middleware for incomplete users - Create comprehensive test suite for all onboarding functionality - Update test fixtures and helpers to support onboarding in existing tests The onboarding collects required first/last name and optional company information. Users are redirected to onboarding after login until profile is completed. Features smooth animations, full-width form button, and clean UX design. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
1.1 KiB
Ruby
Executable File
38 lines
1.1 KiB
Ruby
Executable File
ENV["RAILS_ENV"] ||= "test"
|
|
require_relative "../config/environment"
|
|
require "rails/test_help"
|
|
require "minitest/reporters"
|
|
require "mocha/minitest"
|
|
|
|
Minitest::Reporters.use!
|
|
# Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new, color: true)
|
|
# Minitest::Reporters.use! [ Minitest::Reporters::SpecReporter.new, Minitest::Reporters::JUnitReporter.new ]
|
|
|
|
module ActiveSupport
|
|
class TestCase
|
|
# Run tests in parallel with specified workers
|
|
parallelize(workers: :number_of_processors)
|
|
|
|
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
|
fixtures :all
|
|
|
|
# Add more helper methods to be used by all tests here...
|
|
|
|
# Helper to create users with completed onboarding by default for tests
|
|
def create_test_user(attributes = {})
|
|
User.create!({
|
|
email: "test#{rand(10000)}@example.com",
|
|
password: "password123",
|
|
password_confirmation: "password123",
|
|
first_name: "Test",
|
|
last_name: "User",
|
|
onboarding_completed: true
|
|
}.merge(attributes))
|
|
end
|
|
end
|
|
end
|
|
|
|
class ActionDispatch::IntegrationTest
|
|
include Devise::Test::IntegrationHelpers
|
|
end
|