test/mambanation/base_test.rb in mambanation-0.0.3 vs test/mambanation/base_test.rb in mambanation-0.0.5

- old
+ new

@@ -1,22 +1,110 @@ -require '../test_helper' -require '../../lib/mambanation/base.rb' +require File.dirname(__FILE__) + '/../test_helper' - class BaseTest < Test::Unit::TestCase - context "base" do + + context "when connected thru HTTP" do setup do - oauth = Mambanation::OAuth.new("token", "secret") - @access_token = Mambanation::OAuth::AccessToken.new(oauth.consumer, "atoken", "asecret") - oauth.stubs(:access_token).returns(@access_token) - @mambanation = Mambanation::Base.new(oauth) + @mambanation = MambaNation::Base.new(MambaNation::HTTPAuth.new("username", "password", :api_endpoint => "api.mambanation.com")) end - - context "initialize" do - should "require a client" do - @mambanation.client.should respond_to(:get) - @mambanation.client.should respond_to(:post) - end - + + should "have user method for base authenticated calls to get a user's information" do + stub_get("http://username:password@api.mambanation.com/v2/users/4.json", 'user.json') + user = @mambanation.user(4) + user.mamba_level.should == 1 + user.email.should == "tian.jiang01@gmail.com" + end + + should "have facet method for base authenticated calls to get a facet's information" do + stub_get("http://username:password@api.mambanation.com/v2/facets/1.json", 'facet.json') + facet = @mambanation.facet 1 + facet.user_id.should == 1 + end + + should "have user_facets method with given user for base authenticated calls to get a user's facet's information" do + stub_get("http://username:password@api.mambanation.com/v2/users/4/facets.json", 'facets.json') + facets = @mambanation.user_facets(4) + facets.facets.count.should == 1 + facets.facebook_id == nil + end + + should "have user_friends method with given user for base authenticated calls to get a user's facet's information" do + stub_get("http://username:password@api.mambanation.com/v2/users/4/friends.json", 'friends.json') + friends = @mambanation.user_friends(4) + friends.count.should == 2 + end + + #media api for user in sdk is not rest + # should "have user_media method with given user for base authenticated calls to get a user's media's information" do + # stub_get("http://username:password@api.mambanation.com/v2/users/5/medias.json", '') + # media + # end + + # user_set_websession no more in sdk + # should "be able to update websession for a user" + # stub_post("http://username:password@api.mambanation.com/v2/facets/1.json", '') + # end + + should "be able to create a user" do + stub_post("http://username:password@api.mambanation.com/v2/users", 'new_user_status.json') + response = @mambanation.create_user({"email" => "foofoo@gmail.com", "password" => "foofoo", "password_confirmation" => "foofoo"}) + response.status.should == "ok" + end + + should "be able to create a user with a facebook_id" do + stub_post("http://username:password@api.mambanation.com/v2/users", 'new_user_status.json') + response = @mambanation.create_user({"facebook_id" => "1474761574"}) + response.status.should == "ok" + end + + should "have user find by existing facebook_id" do + stub_get("http://username:password@api.mambanation.com/v2/users/find_by?facebook_id=1474761574", 'user.json') + user = @mambanation.user_by_facebook_id 1474761574 + user.mamba_level.should == 1 + user.email.should == "tian.jiang01@gmail.com" + user.facebook_id.should == 1474761574 + end + + should "have not found user message when no existing facebook_id" do + stub_get("http://username:password@api.mambanation.com/v2/users/find_by?facebook_id=12345", 'not_found_user.json') + user = @mambanation.user_by_facebook_id 12345 + user.message.should == "I can't find this user !" + end + + should "have user find by existing email" do + stub_get("http://username:password@api.mambanation.com/v2/users/find_by?email=tian.jiang01@gmail.com", 'user.json') + user = @mambanation.user_by_email 'tian.jiang01@gmail.com' + user.mamba_level.should == 1 + user.email.should == "tian.jiang01@gmail.com" + user.facebook_id.should == 1474761574 + end + + should "have not found user message when no existing email" do + stub_get("http://username:password@api.mambanation.com/v2/users/find_by?email=zahia@gmail.com", 'not_found_user.json') + user = @mambanation.user_by_email 'zahia@gmail.com' + user.message.should == "I can't find this user !" + end + + should "have last login" do + stub_get("http://username:password@api.mambanation.com/v2/users/4/last_login.json", 'last_login.json') + user = @mambanation.user_last_login(4) + user.last_login.should == 1234567890 + end + + should "have user chat" do + stub_get("http://username:password@api.mambanation.com/v2/users/4/chats.json", 'chats.json') + chats = @mambanation.user_chats(4) + puts chats.class + chats.total_messages.should == 1 + chats.total_pages.should == 1 + chats.current_page.should == 1 + chats.messages.size.should == 2 + chats.messages_per_page.should == 50 + end + + should "have user coms" do + stub_get("http://username:password@api.mambanation.com/v2/users/4/coms.json", 'coms.json') + coms = @mambanation.user_coms(4) + coms.count.should == 4 end end end \ No newline at end of file