From 81022ea7b46277696a6e164043913a251c57db6c Mon Sep 17 00:00:00 2001 From: Sven Fuchs <me@svenfuchs.com> Date: Thu, 27 Sep 2012 18:27:09 +0200 Subject: [PATCH] rename endpoint to users and fix endpoint specs --- Gemfile.lock | 2 +- .../api/app/endpoint/{user.rb => users.rb} | 2 +- spec/endpoint/accounts_spec.rb | 24 +++++++++++++++++++ .../{profile_spec.rb => users_spec.rb} | 17 +++---------- 4 files changed, 29 insertions(+), 16 deletions(-) rename lib/travis/api/app/endpoint/{user.rb => users.rb} (97%) create mode 100644 spec/endpoint/accounts_spec.rb rename spec/endpoint/{profile_spec.rb => users_spec.rb} (63%) diff --git a/Gemfile.lock b/Gemfile.lock index 509e81b7..776d163e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -40,7 +40,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-core.git - revision: a4b1446e3746a5ff59a5438a34f7b2471e33a731 + revision: 6d8de39fa098965aad52b51f8f9a3f5490e7def5 branch: sf-more-services specs: travis-core (0.0.1) diff --git a/lib/travis/api/app/endpoint/user.rb b/lib/travis/api/app/endpoint/users.rb similarity index 97% rename from lib/travis/api/app/endpoint/user.rb rename to lib/travis/api/app/endpoint/users.rb index 2d012c45..0d52d0e7 100644 --- a/lib/travis/api/app/endpoint/user.rb +++ b/lib/travis/api/app/endpoint/users.rb @@ -2,7 +2,7 @@ require 'travis/api/app' class Travis::Api::App class Endpoint - class User < Endpoint + class Users < Endpoint # Gives information about the currently logged in user. # # Example: diff --git a/spec/endpoint/accounts_spec.rb b/spec/endpoint/accounts_spec.rb new file mode 100644 index 00000000..c3eafdab --- /dev/null +++ b/spec/endpoint/accounts_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe Travis::Api::App::Endpoint::Accounts do + include Travis::Testing::Stubs + let(:access_token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) } + + before do + User.stubs(:find_by_github_id).returns(user) + User.stubs(:find).returns(user) + user.stubs(:repositories).returns(stub(administratable: stub(select: [repository]))) + user.stubs(:attributes).returns(:id => user.id, :login => user.login, :name => user.name) + end + + it 'includes accounts' do + get('/accounts', access_token: access_token.to_s).should be_ok + parsed_body['accounts'].should == [{ + 'id' => user.id, + 'login' => user.login, + 'name' => user.name, + 'type' => 'user', + 'reposCount' => nil + }] + end +end diff --git a/spec/endpoint/profile_spec.rb b/spec/endpoint/users_spec.rb similarity index 63% rename from spec/endpoint/profile_spec.rb rename to spec/endpoint/users_spec.rb index 612a8e9c..6c8c7110 100644 --- a/spec/endpoint/profile_spec.rb +++ b/spec/endpoint/users_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Travis::Api::App::Endpoint::Profile do +describe Travis::Api::App::Endpoint::Users do include Travis::Testing::Stubs let(:access_token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) } @@ -11,11 +11,11 @@ describe Travis::Api::App::Endpoint::Profile do end it 'needs to be authenticated' do - get('/profile').should_not be_ok + get('/users').should_not be_ok end it 'replies with the current user' do - get('/profile', access_token: access_token.to_s).should be_ok + get('/users', access_token: access_token.to_s).should be_ok parsed_body['user'].should == { 'id' => user.id, 'login' => user.login, @@ -27,15 +27,4 @@ describe Travis::Api::App::Endpoint::Profile do 'synced_at' => user.synced_at.strftime('%Y-%m-%dT%H:%M:%SZ') } end - - it 'includes accounts' do - get('/profile', access_token: access_token.to_s).should be_ok - parsed_body['accounts'].should == [{ - 'id' => user.id, - 'login' => user.login, - 'name' => user.name, - 'type' => 'user', - 'reposCount' => nil - }] - end end