Skip to content

Commit

Permalink
Fixed specs
Browse files Browse the repository at this point in the history
  • Loading branch information
andrea@SONGOKU authored and andrea@SONGOKU committed Apr 28, 2015
1 parent aa54c5d commit 6651857
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 43 deletions.
46 changes: 22 additions & 24 deletions spec/HNAPI/services/entries/entry_service_spec.rb
Expand Up @@ -7,41 +7,39 @@ module RubyHackernews
describe :get_entries do

it "should always call EntryPageParser with current agent" do
parser = stub()
parser.should_receive(:get_lines).and_return([])
parser.should_receive(:get_next_url).and_return(nil)
agent = stub()
agent.should_receive(:get).any_number_of_times.and_return(:page)
MechanizeContext.create(:default, agent)
parser = Object.new
allow(parser).to receive_messages(:get_lines => [], :get_next_url => nil)
agent = Object.new
allow(agent).to receive_messages(:get => :page)
MechanizeContext.send(:class_variable_set, :@@contexts, {:default => agent})
service = EntryService.new
EntryPageParser.should_receive(:new).any_number_of_times.with(:page).and_return(parser)
expect(EntryPageParser).to receive(:new).at_least(1).with(:page).and_return(parser)
service.get_entries
end

it "should always call get_lines 'pages' number of times" do
pages = 5
parser = stub()
parser.should_receive(:get_lines).exactly(pages).times.and_return([])
parser.should_receive(:get_next_url).any_number_of_times.and_return(nil)
agent = stub()
agent.should_receive(:get).any_number_of_times.and_return(:page)
MechanizeContext.create(:default, agent)
parser = Object.new
expect(parser).to receive(:get_lines).and_return([])
allow(parser).to receive(:get_next_url).and_return(nil)
agent = Object.new
allow(agent).to receive_messages(:get => :page)
MechanizeContext.send(:class_variable_set, :@@contexts, {:default => agent})
service = EntryService.new
EntryPageParser.should_receive(:new).any_number_of_times.with(:page).and_return(parser)
service.get_entries(pages)
allow(EntryPageParser).to receive(:new).with(:page).and_return(parser)
service.get_entries
end

it "should always call get_next_url 'pages' number of times" do
pages = 5
parser = stub()
parser.should_receive(:get_lines).any_number_of_times.and_return([])
parser.should_receive(:get_next_url).exactly(pages).times.and_return(nil)
agent = stub()
agent.should_receive(:get).any_number_of_times.and_return(:page)
MechanizeContext.create(:default, agent)
parser = Object.new
allow(parser).to receive(:get_lines).and_return([])
expect(parser).to receive(:get_next_url).and_return(nil)
agent = Object.new
allow(agent).to receive_messages(:get => :page)
MechanizeContext.send(:class_variable_set, :@@contexts, {:default => agent})
service = EntryService.new
EntryPageParser.should_receive(:new).any_number_of_times.with(:page).and_return(parser)
service.get_entries(pages)
allow(EntryPageParser).to receive(:new).with(:page).and_return(parser)
service.get_entries
end

end
Expand Down
19 changes: 0 additions & 19 deletions spec/HNAPI/services/mechanize_context_spec.rb
Expand Up @@ -8,25 +8,6 @@ module RubyHackernews
MechanizeContext.send(:class_variable_set, :@@default, nil)
end

describe "create" do

it "should instantiate class variable on use" do
MechanizeContext.create()
MechanizeContext.send(:class_variable_get, :@@contexts).should_not be_nil
end

it "should assign new agent to hash[key]" do
MechanizeContext.create(:test_key)
MechanizeContext.send(:class_variable_get, :@@contexts)[:test_key].should be_kind_of Mechanize
end

it "should assign new agent to default if no key passed" do
MechanizeContext.create
MechanizeContext.send(:class_variable_get, :@@contexts)[:default].should be_kind_of Mechanize
end

end

describe "agent=" do

it "should set @@default as passed key" do
Expand Down

0 comments on commit 6651857

Please sign in to comment.