From 1db9fe0dbf7b85d039537d3ed6f01d21d9d847af Mon Sep 17 00:00:00 2001 From: Sergio Gil Date: Fri, 7 Jul 2017 10:28:48 +0200 Subject: [PATCH] Adds --full-text option to direct-messages command. Fixes #371 --- lib/t/cli.rb | 2 ++ spec/cli_spec.rb | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/t/cli.rb b/lib/t/cli.rb index 4e1129f4..b71dc477 100644 --- a/lib/t/cli.rb +++ b/lib/t/cli.rb @@ -124,6 +124,7 @@ def block(user, *users) method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.' method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.' method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.' + method_option 'full_text', aliases: '-f', type: :boolean, desc: 'Fetch full texts.' method_option 'number', aliases: '-n', type: :numeric, default: DEFAULT_NUM_RESULTS, desc: 'Limit the number of results.' method_option 'relative_dates', aliases: '-a', type: :boolean, desc: 'Show relative dates.' method_option 'reverse', aliases: '-r', type: :boolean, desc: 'Reverse the order of the sort.' @@ -131,6 +132,7 @@ def direct_messages count = options['number'] || DEFAULT_NUM_RESULTS opts = {} opts[:include_entities] = !!options['decode_uris'] + opts[:full_text] = true if options['full_text'] direct_messages = collect_with_count(count) do |count_opts| client.direct_messages(count_opts.merge(opts)) end diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb index b1ae18b4..767a6d79 100644 --- a/spec/cli_spec.rb +++ b/spec/cli_spec.rb @@ -209,6 +209,17 @@ expect(a_get('/1.1/direct_messages.json').with(query: {count: '20', include_entities: 'true'})).to have_been_made end end + context '--full-text' do + before do + @cli.options = @cli.options.merge('full_text' => true) + stub_get('/1.1/direct_messages.json').with(query: {count: '20', include_entities: 'false', full_text: 'true'}).to_return(body: fixture('direct_messages.json'), headers: {content_type: 'application/json; charset=utf-8'}) + stub_get('/1.1/direct_messages.json').with(query: {count: '10', max_id: '1624782205', include_entities: 'false', full_text: 'true'}).to_return(body: fixture('empty_array.json'), headers: {content_type: 'application/json; charset=utf-8'}) + end + it 'requests the correct resource' do + @cli.direct_messages + expect(a_get('/1.1/direct_messages.json').with(query: {count: '20', include_entities: 'false', full_text: 'true'})).to have_been_made + end + end context '--long' do before do @cli.options = @cli.options.merge('long' => true)