* Page unique_cross_model_slug seems misconfigured * Update validator test * More verbose invalid attribute message * Try dynamic model/attribute registration * Rubocop * Use the cross-model-slug existence check * Register with the dynamic cross-model-slug checker * Cleanup * Add missing keys to fr * Update format regex * Adjust validation: always presence, unique if changed * Tests can create reserved-word pages when they need to * Slugs can be mixed case? * Case-sensitive is better, actually * Refactor to use CrossModel check * Refactor, rename for clarity * Refactor, avoid mocking oneself * Refactor, injectable everything * Add reservedword check to extracted exists? checker * Move to concerns * Without dynamic registration * extend when needed * Cleanup comments, remove registration references --------- Co-authored-by: Goran <gorang.pub@gmail.com>
16 lines
563 B
Ruby
16 lines
563 B
Ruby
FactoryBot.define do
|
|
factory :page do
|
|
title { Faker::Book.title }
|
|
body_markdown { Faker::Lorem.sentence }
|
|
slug { Faker::Internet.slug }
|
|
description { Faker::Lorem.sentence }
|
|
template { "contained" }
|
|
|
|
# Validations prevent creating pages with reserved words, but empty test
|
|
# database populated without these objects, this allows a bypass to create
|
|
# those pages for specific test scenarios.
|
|
trait :without_validations do
|
|
to_create { |instance| instance.save(validate: false) }
|
|
end
|
|
end
|
|
end
|