require File.join(Dir.pwd, 'spec', 'spec_helper') describe 'SkilledUserList' do before do #simulate_connection_to_server end after do end it 'should pass if skilled user list attribute is not specifed' do skill_id = 123 request_data = FactoryGirl.attributes_for(:skilled_user_list).to_json TheCity.stub(:admin_request).and_return( TheCityResponse.new(200, request_data) ) skilled_user_list = TheCity::SkilledUserList.new({:skill_id => skill_id}) skilled_user_list.users.should == [] end it 'should pass if skilled user list is empty' do skill_id = 123 request_data = FactoryGirl.attributes_for(:skilled_user_list, :users => []).to_json TheCity.stub(:admin_request).and_return( TheCityResponse.new(200, request_data) ) skilled_user_list = TheCity::SkilledUserList.new({:skill_id => skill_id}) skilled_user_list.users.should == [] end it 'should return a valid list of users' do skill_id = 123 page = 2 request_data = FactoryGirl.attributes_for(:skilled_user_list, { :total_entries => 1, :total_pages => 1, :users => [FactoryGirl.attributes_for(:user)] }).to_json TheCity.stub(:admin_request).and_return( TheCityResponse.new(200, request_data) ) skilled_user_list = TheCity::SkilledUserList.new({:skill_id => skill_id, :page => page}) skilled_user_list.users.should == ["Sam Shepherd"] end it 'should iterate using *each* method' do skill_id = 123 request_data = FactoryGirl.attributes_for(:skilled_user_list, { :total_entries => 1, :total_pages => 1, :users => [FactoryGirl.attributes_for(:user)] }).to_json TheCity.stub(:admin_request).and_return( TheCityResponse.new(200, request_data) ) skilled_user_list = TheCity::SkilledUserList.new({:skill_id => skill_id}) users = [] skilled_user_list.each { |user| users << user.full_name } skilled_user_list.users.should == ["Sam Shepherd"] end it 'should iterate using *collect* method' do skill_id = 123 request_data = FactoryGirl.attributes_for(:skilled_user_list, { :total_entries => 1, :total_pages => 1, :users => [FactoryGirl.attributes_for(:user)] }).to_json TheCity.stub(:admin_request).and_return( TheCityResponse.new(200, request_data) ) skilled_user_list = TheCity::SkilledUserList.new({:skill_id => skill_id}) users = skilled_user_list.collect { |user| user.full_name } skilled_user_list.users.should == ["Sam Shepherd"] end end