From fbc36e89eb9b3642fe1dd4e053f90229e443d821 Mon Sep 17 00:00:00 2001 From: Heitor Reis Date: Wed, 19 Nov 2014 15:11:48 -0200 Subject: [PATCH] Implemented last_processing_of for Repository --- app/models/repository.rb | 13 ++++--------- spec/models/repository_spec.rb | 70 ++++++++++++++-------------------------------------------------------- 2 files changed, 18 insertions(+), 65 deletions(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index ec46531..ed8a7f9 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -1,12 +1,7 @@ -class Repository < KalibroGatekeeperClient::Entities::Repository - include KalibroRecord - - validates :name, presence: true, kalibro_uniqueness: true - validates :address, presence: true - - def last_processing - if Processing.has_processing(@id) - Processing.processing_of(@id) +class Repository < KalibroClient::Processor::Repository + def last_processing_of + if has_processing + last_processing else nil end diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index db0fb6a..0c0562f 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -1,73 +1,31 @@ require 'rails_helper' describe Repository, :type => :model do - pending 'waiting for kalibro configurations integration' do - describe 'methods' do - describe 'last_processing' do - subject { FactoryGirl.build(:repository) } + describe 'methods' do + describe 'last_processing_of' do + subject { FactoryGirl.build(:repository) } - context 'with no processing at all' do - before :each do - Processing.expects(:has_processing).with(subject.id).returns(false) - end - - it 'should return nil' do - expect(subject.last_processing).to be_nil - end + context 'with no processing at all' do + before :each do + subject.expects(:has_processing).returns(false) end - context 'with a ready processing' do - let(:processing) { FactoryGirl.build(:processing) } - - before :each do - Processing.expects(:has_processing).with(subject.id).returns(true) - Processing.expects(:has_ready_processing).with(subject.id).returns(true) - end - - it 'should return a ready processing processing' do - Processing.expects(:last_ready_processing_of).with(subject.id).returns(processing) - - expect(subject.last_processing).to eq(processing) - end - end - - context 'with no ready processing' do - let(:processing) { FactoryGirl.build(:processing, state: 'COLLECTING') } - - before :each do - Processing.expects(:has_processing).with(subject.id).returns(true) - Processing.expects(:has_ready_processing).with(subject.id).returns(false) - end - - it 'should return the latest processing' do - Processing.expects(:last_processing_of).with(subject.id).returns(processing) - - expect(subject.last_processing).to eq(processing) - end + it 'should return nil' do + expect(subject.last_processing_of).to be_nil end end - end - describe 'validations' do - subject {FactoryGirl.build(:repository)} + context 'with a processing' do + let(:processing) { FactoryGirl.build(:processing) } - context 'active model validations' do before :each do - Repository.expects(:all).at_least_once.returns([]) + subject.expects(:has_processing).returns(true) end - it { is_expected.to validate_presence_of(:name) } - it { is_expected.to validate_presence_of(:address) } - end - - context 'kalibro validations' do - before :each do - Repository.expects(:request).returns(42) - end + it 'should return a ready processing processing' do + subject.expects(:last_processing).returns(processing) - it 'should validate uniqueness' do - KalibroUniquenessValidator.any_instance.expects(:validate_each).with(subject, :name, subject.name) - subject.save + expect(subject.last_processing_of).to eq(processing) end end end -- libgit2 0.21.2