From 35b4bc295418d9d663848a162fac643e82bd2b5e Mon Sep 17 00:00:00 2001
From: echarp <manu@echarp.org>
Date: Sat, 9 Apr 2022 16:04:19 +0200
Subject: [PATCH] Cleaner validation

---
 app/models/event.rb                 | 1 -
 app/models/orga.rb                  | 6 ++----
 test/models/event_callbacks_test.rb | 4 ++--
 test/models/event_test.rb           | 6 +++---
 4 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/app/models/event.rb b/app/models/event.rb
index 80996e3ff..bfb91513e 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -20,7 +20,6 @@ class Event < ApplicationRecord
   RULES = %w[daily weekly monthly monthly_day].freeze
   validates :rule, inclusion: RULES, allow_nil: true
   validates :description, presence: true
-  validates :region, presence: true
   validates :url, allow_nil: true, format: %r{\Ahttps?://.*\..*\z}
   validates :contact, email: true, allow_nil: true
   validates :submitter, email: true, presence: true
diff --git a/app/models/orga.rb b/app/models/orga.rb
index ab955fde3..ce4e79a8c 100644
--- a/app/models/orga.rb
+++ b/app/models/orga.rb
@@ -8,9 +8,7 @@ class Orga < ApplicationRecord
   belongs_to :region
   belongs_to :kind
 
-  validates :kind, presence: true
   validates :name, presence: true
-  validates :region, presence: true
   validates :url, format: %r{\Ahttps?://.*\..*\z}
   validates :diaspora, allow_blank: true, format: %r{\Ahttps?://.*\..*\z}
   validates :feed, allow_blank: true, format: %r{\Ahttps?://.*\..*\z}
@@ -28,8 +26,8 @@ class Orga < ApplicationRecord
   scope :unmoderated, -> { where moderated: false }
 
   # Only present to simplify maps_controller, to have the same scopes as events
-  scope :locality, -> {}
-  scope :daylimit, -> {}
+  scope :locality, ->(_locality) {}
+  scope :daylimit, ->(_nb) {}
   scope :future, -> {}
   scope :period, ->(_year, _week) {}
 
diff --git a/test/models/event_callbacks_test.rb b/test/models/event_callbacks_test.rb
index 9315bcf06..ce783fe2e 100644
--- a/test/models/event_callbacks_test.rb
+++ b/test/models/event_callbacks_test.rb
@@ -9,7 +9,7 @@ class EventCallbacksTest < ActiveSupport::TestCase
   test 'schedule' do
     event = Event.new(
       title: 'hello world',
-      start_time: Time.zone.now, end_time: Time.zone.now + 1.hour,
+      start_time: Time.zone.now, end_time: 1.hour.from_now,
       description: 'et hop!',
       city: City.first, region: Region.first,
       url: 'http://example.com',
@@ -24,7 +24,7 @@ class EventCallbacksTest < ActiveSupport::TestCase
   test 'moderation' do
     event = Event.new(
       title: 'hello world',
-      start_time: Time.zone.now + 1.hour, end_time: Time.zone.now + 2.hours,
+      start_time: 1.hour.from_now, end_time: 2.hours.from_now,
       repeat: 1, rule: 'monthly',
       description: 'et hop!',
       city: City.first, region: Region.first,
diff --git a/test/models/event_test.rb b/test/models/event_test.rb
index 8cfe8d338..827add453 100644
--- a/test/models/event_test.rb
+++ b/test/models/event_test.rb
@@ -12,7 +12,7 @@ class EventTest < ActiveSupport::TestCase
     @event = Event.new(
       title: 'hello world',
       start_time: Time.zone.now,
-      end_time: Time.zone.now + 1.hour,
+      end_time: 1.hour.from_now,
       description: 'et hop!',
       city: City.first,
       region: Region.first,
@@ -33,7 +33,7 @@ class EventTest < ActiveSupport::TestCase
     @event = Event.new(
       title: 'hello world',
       start_time: Time.zone.now,
-      end_time: Time.zone.now + 1.hour,
+      end_time: 1.hour.from_now,
       description: 'et hop!',
       city: City.first,
       region: Region.first,
@@ -64,7 +64,7 @@ class EventTest < ActiveSupport::TestCase
     @event = Event.new(
       title: 'hello world',
       start_time: Time.zone.now,
-      end_time: Time.zone.now + 1.hour,
+      end_time: 1.hour.from_now,
       description: 'et hop!',
       city: City.first,
       region: Region.first,
-- 
GitLab