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