25 lines
872 B
Ruby
25 lines
872 B
Ruby
require 'rails_helper'
|
|
|
|
shared_examples_for 'out_of_offisable' do
|
|
let(:obj) { create(described_class.to_s.underscore, working_hours_enabled: true, out_of_office_message: 'Message') }
|
|
|
|
it 'has after create callback' do
|
|
expect(obj.working_hours.count).to eq(7)
|
|
end
|
|
|
|
it 'is working on monday 10am' do
|
|
travel_to '26.10.2020 10:00'.to_datetime
|
|
expect(obj.working_now?).to be true
|
|
end
|
|
|
|
it 'is out of office on sunday 1pm' do
|
|
travel_to '01.11.2020 13:00'.to_datetime
|
|
expect(obj.out_of_office?).to be true
|
|
end
|
|
|
|
it 'updates the office hours via a hash' do
|
|
obj.update_working_hours([{ 'day_of_week' => 1, 'open_hour' => 10, 'open_minutes' => 0,
|
|
'close_hour' => 17, 'close_minutes' => 0 }])
|
|
expect(obj.reload.weekly_schedule.find { |schedule| schedule['day_of_week'] == 1 }['open_hour']).to eq 10
|
|
end
|
|
end
|