25 lines
858 B
Ruby
25 lines
858 B
Ruby
|
## we had instances where after copy pasting the schedule block,
|
||
|
## the dev forgets to changes the schedule key,
|
||
|
## this would break some of the scheduled jobs with out explicit errors
|
||
|
require 'rails_helper'
|
||
|
|
||
|
RSpec.context 'with valid schedule.yml' do
|
||
|
it 'does not have duplicates' do
|
||
|
file = Rails.root.join('config/schedule.yml')
|
||
|
schedule_keys = []
|
||
|
invalid_line_starts = [' ', '#', "\n"]
|
||
|
# couldn't figure out a proper solution with yaml.parse
|
||
|
# so the rudementary solution is to read the file and parse it
|
||
|
# check for duplicates in the array
|
||
|
File.open(file).each do |f|
|
||
|
f.each_line do |line|
|
||
|
next if invalid_line_starts.include?(line[0])
|
||
|
|
||
|
schedule_keys << line.split(':')[0]
|
||
|
end
|
||
|
end
|
||
|
# ensure that no duplicates exist
|
||
|
assert_equal schedule_keys.uniq.count, schedule_keys.count
|
||
|
end
|
||
|
end
|