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

- old
+ new

@@ -104,39 +104,71 @@ 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" + 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 + Wordnik.authenticate + @permalink = "wordnik-ruby-test-list-#{RAND}" end it "creates a wordlist" do body = { - :name=> "Wordnik Ruby Test List #{RAND}", + :name => "Wordnik Ruby Test List #{RAND}", :description => 'This is created by the test suite.', :type => 'PUBLIC', :user_id => Wordnik.configuration.user_id } - request = Wordnik::Request.new(:post, "wordLists", :body => body) - request.response.body.should be_a_kind_of(Hash) - request.response.body.should have_key('permalink') + 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" do + 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("wordnik-ruby-test-list-#{RAND}") + permalinks.should include(@permalink) end - it "finds the new wordlist and adds words to it" + 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" \ No newline at end of file