spec/koji_spec.rb in polisher-0.8.1 vs spec/koji_spec.rb in polisher-0.9.1

- old
+ new

@@ -37,19 +37,49 @@ described_class.has_build_satisfying?('foobar', '< 0.9.0').should be_false end end end - describe "#versions_for" do + describe "#tagged_in" do before(:each) do @client = double(XMLRPC::Client) described_class.should_receive(:client).and_return(@client) end + it "uses xmlrpc client to retrieve packages" do + expected = ['listPackages', nil, nil, "rubygem-rails", nil, false, true] + @client.should_receive(:call).with(*expected).and_return([]) + described_class.tagged_in 'rails' + end + + it "returns tags" do + tags = [{'tag_name' => 'tag1'}, {'tag_name' => 'tag2'}] + @client.should_receive(:call).and_return(tags) + described_class.tagged_in('rails').should == ['tag1', 'tag2'] + end + end + + describe "#versions_for" do + before(:each) do + @client = double(XMLRPC::Client) + described_class.should_receive(:client).at_least(:once).and_return(@client) + end + it "uses xmlrpc client to retreive versions" do expected = ['listTagged', described_class.koji_tag, nil, false, nil, false, "rubygem-rails"] @client.should_receive(:call).with(*expected).and_return([]) + described_class.versions_for 'rails' + end + + it "handles multiple koji tags" do + described_class.should_receive(:koji_tags).and_return(['tag1', 'tag2']) + expected1 = ['listTagged', 'tag1', nil, false, + nil, false, "rubygem-rails"] + expected2 = ['listTagged', 'tag2', nil, false, + nil, false, "rubygem-rails"] + @client.should_receive(:call).with(*expected1).and_return([]) + @client.should_receive(:call).with(*expected2).and_return([]) described_class.versions_for 'rails' end it "returns versions" do versions = [{'version' => '1.0.0'}]