feat(auth): enhance user registration with names and improve UI

- Add first_name and last_name fields to User model with validations
- Configure Devise registrations controller to accept name parameters
- Update registration form with name fields and improved styling
- Replace Twitter Bootstrap pagination with custom Tailwind components
- Add French locale translations for pagination and models
- Update header styling with responsive design improvements
- Add EditorConfig for consistent code formatting
- Fix logout controller URL handling and improve JavaScript
- Update seed data and test fixtures with name attributes
- Add comprehensive model tests for name validations
- Add test.sh script for easier test execution

💘 Generated with Crush
Co-Authored-By: Crush <crush@charm.land>
This commit is contained in:
Kevin BATAILLE
2025-08-26 17:17:50 +02:00
parent 6b37c67b47
commit 884c6a8262
27 changed files with 462 additions and 160 deletions

View File

@@ -25,4 +25,42 @@ class UserTest < ActiveSupport::TestCase
assert_equal :has_many, association.macro
assert_equal :destroy, association.options[:dependent]
end
# Test first_name validations
test "should validate presence of first_name" do
user = User.new(last_name: "Doe")
refute user.valid?, "User with blank first_name should be invalid"
assert_not_nil user.errors[:first_name], "No validation error for blank first_name"
end
test "should validate length of first_name" do
# Test minimum length
user = User.new(first_name: "A", last_name: "Doe")
refute user.valid?, "User with first_name shorter than 3 chars should be invalid"
assert_not_nil user.errors[:first_name], "No validation error for too short first_name"
# Test maximum length
user = User.new(first_name: "A" * 13, last_name: "Doe")
refute user.valid?, "User with first_name longer than 12 chars should be invalid"
assert_not_nil user.errors[:first_name], "No validation error for too long first_name"
end
# Test last_name validations
test "should validate presence of last_name" do
user = User.new(first_name: "John")
refute user.valid?, "User with blank last_name should be invalid"
assert_not_nil user.errors[:last_name], "No validation error for blank last_name"
end
test "should validate length of last_name" do
# Test minimum length
user = User.new(first_name: "John", last_name: "Do")
refute user.valid?, "User with last_name shorter than 3 chars should be invalid"
assert_not_nil user.errors[:last_name], "No validation error for too short last_name"
# Test maximum length
user = User.new(first_name: "John", last_name: "D" * 13)
refute user.valid?, "User with last_name longer than 12 chars should be invalid"
assert_not_nil user.errors[:last_name], "No validation error for too long last_name"
end
end