Merge pull request #187 from abf/rosa-build:185-attach-advisory-to-build-list

#185: Advisory created, but did not attach build list
This commit is contained in:
avm 2013-06-17 14:35:08 +04:00
commit 58da53d066
2 changed files with 45 additions and 3 deletions

View File

@ -26,7 +26,7 @@ class Advisory < ActiveRecord::Base
self.platforms << build_list.save_to_platform unless platforms.include? build_list.save_to_platform self.platforms << build_list.save_to_platform unless platforms.include? build_list.save_to_platform
self.projects << build_list.project unless projects.include? build_list.project self.projects << build_list.project unless projects.include? build_list.project
build_list.advisory = self build_list.advisory = self
save save && build_list.save
end end
# this method fetches and structurize packages attached to current advisory. # this method fetches and structurize packages attached to current advisory.

View File

@ -1,5 +1,47 @@
require 'spec_helper' require 'spec_helper'
describe Advisory do shared_examples_for 'attach advisory to build_list' do
pending "add some examples to (or delete) #{__FILE__}"
it 'ensure that advisory has been attached to build_list' do
build_list.reload.advisory.should == advisory
end
it 'ensure that save_to_platform of build_list has been attached to advisory' do
build_list.save_to_platform.advisories.should include(advisory)
end
it 'ensure that projects of build_list has been attached to advisory' do
build_list.project.advisories.should include(advisory)
end
end
describe Advisory do
before { stub_symlink_methods }
context 'attach_build_list' do
let(:build_list) { FactoryGirl.create(:build_list) }
context 'attach new advisory to build_list' do
let(:advisory) { FactoryGirl.build(:advisory) }
before do
advisory.attach_build_list(build_list)
end
it_should_behave_like 'attach advisory to build_list'
it 'ensure that advisory has been created' do
Advisory.should have(1).item
end
end
context 'attach old advisory to build_list' do
let(:advisory) { FactoryGirl.create(:advisory) }
before do
advisory.attach_build_list(build_list)
end
it_should_behave_like 'attach advisory to build_list'
end
end
end end