spec/wordnik_spec.rb in wordnik-0.4.5 vs spec/wordnik_spec.rb in wordnik-0.4.6

- old
+ new

@@ -1,6 +1,7 @@ -require 'spec_helper' +# require 'spec_helper' +require File.dirname(__FILE__) + '/spec_helper' describe Wordnik do before(:each) do configure_wordnik @@ -20,11 +21,11 @@ it "has as many resources as there are resource names" do Wordnik.resources.size.should == Wordnik.resource_names.size end it "assigns resource keys that match the resource names" do - Wordnik.resources[:word].name.should == :word + Wordnik.resources[:word].name.should == :word end end context "authentication" do @@ -72,111 +73,11 @@ end end - context "dynamic method_missing magic" do - - it "maps shorthand Wordnik.resource calls to their resources" do - Wordnik.word.class.should == Wordnik::Resource - Wordnik.word.name.should == :word - end - - it "builds requests but doesn't run them if method name begins with 'build_'" do - @request = Wordnik.word.build_get('dynamo') - @request.class.should == Wordnik::Request - end - - it "runs requests and returns their body if method name doesn't begin with 'build_'" do - @response_body = Wordnik.word.get('dynamo') - @response_body.class.should == Hash - @response_body.keys.sort.should == %w(canonicalForm word) - end - - context "argument handling" do - - before(:each) do - @request = Wordnik.word.build_get_examples('dynamo', :skip => 2, :limit => 10) - end - - it "injects required arguments into the path" do - @request.path.should == "/word/dynamo/examples" - end - - it "passes optional key-value arguments to the query string" do - @request.query_string.should == "?limit=10&skip=2" - end - - it "puts key-value arguments in the request body instead of the query params for POSTs and PUTs" do - body = { - :name => "Wordnik Ruby Test List #{RAND}", - :description => 'This is created by the test suite.', - :type => 'PUBLIC', - :user_id => Wordnik.configuration.user_id - } - @request = Wordnik.word_lists.build_post(body) - @request.body.should have_key(:name) - @request.body.should have_key(:description) - @request.body.should have_key(:type) - @request.body.should have_key(:userId) - end - - end - - context "wordlists" do - - before do - configure_wordnik - Wordnik.authenticate - @permalink = "wordnik-ruby-test-list-#{RAND}" - end - - it "creates a wordlist" do - body = { - :name => "Wordnik Ruby Test List #{RAND}", - :description => 'This is created by the test suite.', - :type => 'PUBLIC', - :user_id => Wordnik.configuration.user_id - } - request = Wordnik.word_lists.build_post(body) - response = request.response - response.body.should be_a_kind_of(Hash) - response.body.should have_key('permalink') - response.body['permalink'].should == @permalink - end - - it "finds the new wordlist (method 1, using the wordList resource)" do - list = Wordnik.word_list.get(@permalink) - list.should have_key('permalink') - list['permalink'].should == @permalink - end - - it "finds the new wordlist (method 2, among user's wordlists)" do - lists = Wordnik.account.get_word_lists - permalinks = lists.map { |list| list['permalink'] } - permalinks.should include(@permalink) - end - - it "adds words to it" do - body = [ - {:word => 'foo'}, - {:word => 'bar'}, - {:word => 'metasyntactic'}, - ] - request = Wordnik.word_list.build_post_words(@permalink, body) - # raise request.response.inspect - - list = Wordnik.word_list.get(@permalink) - # raise list.inspect - end - - it "updates words" - - it "get all the words" - - it "deletes a wordlist" - - end - - end + it "maps shorthand Wordnik.resource calls to their resources" do + Wordnik.word.class.should == Wordnik::Resource + Wordnik.word.name.should == :word + end end \ No newline at end of file