spec/vacation_spec.rb in reviewlette-0.0.8 vs spec/vacation_spec.rb in reviewlette-0.0.9
- old
+ new
@@ -1,34 +1,36 @@
require 'spec_helper'
describe Vacations do
-
subject { Vacations }
- describe '.find_vacations' do
+ let(:members_config) { { members: [member1, member2, member3] } }
+ let(:member1) { { 'suse_username' => 'testuser1' } }
+ let(:member2) { { 'suse_username' => 'testuser2' } }
+ let(:member3) { { 'suse_username' => 'testuser3' } }
+ let(:timestamp) { 'Absence : Thu 2015-04-02 - Tue 2015-04-07' }
+ describe '.find_vacations' do
it 'parses the vacations dates out of tel' do
- expect_any_instance_of(Net::Telnet).to receive(:cmd).with('testuser1').and_return "Absence : Thu 2015-04-02 - Tue 2015-04-07"
+ stub_telnet = double
+ expect(stub_telnet).to receive(:cmd).with('testuser1').and_return(timestamp)
+ expect(stub_telnet).to receive(:close).and_return(true)
+ expect(Net::Telnet).to receive(:new).and_return(stub_telnet)
vacations = subject.find_vacations('testuser1')
+
expect(vacations).to be_kind_of(Array)
expect(vacations).to eq([Date.parse('2015-04-02')..Date.parse('2015-04-07')])
end
-
end
-
describe '.members_on_vacation' do
-
it 'finds members on vacation' do
- MEMBERS_CONFIG['members'] = [{'suse_username' => 'testuser1'}, {'suse_username' =>'testuser2'}, {'suse_username' =>'testuser3'}]
allow(subject).to receive(:find_vacations).with('testuser1').and_return [(Date.today - 1)..(Date.today + 2)]
allow(subject).to receive(:find_vacations).with('testuser2').and_return [(Date.today - 1)..(Date.today - 1)]
allow(subject).to receive(:find_vacations).with('testuser3').and_return []
- expect(subject.members_on_vacation).to be_kind_of(Array)
- expect(subject.members_on_vacation).to eq(['testuser1'])
+ expect(subject.members_on_vacation(members_config[:members])).to be_kind_of(Array)
+ expect(subject.members_on_vacation(members_config[:members])).to eq(['testuser1'])
end
-
end
-
end