mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 20:13:43 +08:00
45ccadeeeb
Rails 6.1.3.1 deprecates a few API and has some internal changes that break our tests suite, so this commit fixes all the deprecations and errors and now Discourse should be fully compatible with Rails 6.1.3.1. We also have a new release of the rails_failover gem that's compatible with Rails 6.1.3.1.
64 lines
1.8 KiB
Ruby
64 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe UserNotificationSchedule do
|
|
fab!(:user) { Fabricate(:user) }
|
|
|
|
describe "validations" do
|
|
it 'is invalid when no times are specified' do
|
|
schedule = UserNotificationSchedule.create({
|
|
user: user,
|
|
enabled: true
|
|
})
|
|
expect(schedule.errors.attribute_names).to eq([
|
|
:day_0_start_time,
|
|
:day_0_end_time,
|
|
:day_1_start_time,
|
|
:day_1_end_time,
|
|
:day_2_start_time,
|
|
:day_2_end_time,
|
|
:day_3_start_time,
|
|
:day_3_end_time,
|
|
:day_4_start_time,
|
|
:day_4_end_time,
|
|
:day_5_start_time,
|
|
:day_5_end_time,
|
|
:day_6_start_time,
|
|
:day_6_end_time,
|
|
])
|
|
end
|
|
|
|
it 'is invalid when a start time is below -1' do
|
|
schedule = UserNotificationSchedule.new({
|
|
user: user,
|
|
}.merge(UserNotificationSchedule::DEFAULT))
|
|
schedule.day_0_start_time = -2
|
|
schedule.save
|
|
expect(schedule.errors.count).to eq(1)
|
|
expect(schedule.errors[:day_0_start_time]).to be_present
|
|
end
|
|
|
|
it 'invalid when an end time is greater than 1440' do
|
|
schedule = UserNotificationSchedule.new({
|
|
user: user,
|
|
}.merge(UserNotificationSchedule::DEFAULT))
|
|
schedule.day_0_end_time = 1441
|
|
schedule.save
|
|
expect(schedule.errors.count).to eq(1)
|
|
expect(schedule.errors[:day_0_end_time]).to be_present
|
|
end
|
|
|
|
it 'invalid when the start time is greater than the end time' do
|
|
schedule = UserNotificationSchedule.new({
|
|
user: user,
|
|
}.merge(UserNotificationSchedule::DEFAULT))
|
|
schedule.day_0_start_time = 1000
|
|
schedule.day_0_end_time = 800
|
|
schedule.save
|
|
expect(schedule.errors.count).to eq(1)
|
|
expect(schedule.errors[:day_0_start_time]).to be_present
|
|
end
|
|
end
|
|
end
|