From 718c95e7affa6b9e679ab5a5885e6a886a413a94 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 20 Nov 2023 06:05:24 -0500 Subject: [PATCH] Convert `api/v1/custom_emojis` controller spec to request spec (#27985) Co-authored-by: Claire --- .../api/v1/custom_emojis_controller_spec.rb | 18 -------- spec/requests/api/v1/custom_emojis_spec.rb | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 18 deletions(-) delete mode 100644 spec/controllers/api/v1/custom_emojis_controller_spec.rb create mode 100644 spec/requests/api/v1/custom_emojis_spec.rb diff --git a/spec/controllers/api/v1/custom_emojis_controller_spec.rb b/spec/controllers/api/v1/custom_emojis_controller_spec.rb deleted file mode 100644 index 08af57f405..0000000000 --- a/spec/controllers/api/v1/custom_emojis_controller_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Api::V1::CustomEmojisController do - render_views - - describe 'GET #index' do - before do - Fabricate(:custom_emoji) - get :index - end - - it 'returns http success' do - expect(response).to have_http_status(200) - end - end -end diff --git a/spec/requests/api/v1/custom_emojis_spec.rb b/spec/requests/api/v1/custom_emojis_spec.rb new file mode 100644 index 0000000000..5de0dda0be --- /dev/null +++ b/spec/requests/api/v1/custom_emojis_spec.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe 'Custom Emojis' do + let(:user) { Fabricate(:user) } + let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id) } + let(:headers) { { 'Authorization' => "Bearer #{token.token}" } } + + describe 'GET /api/v1/custom_emojis' do + before do + Fabricate(:custom_emoji, domain: nil, disabled: false, visible_in_picker: true) + end + + context 'when logged out' do + it 'returns http success and json' do + get api_v1_custom_emojis_path + + expect(response) + .to have_http_status(200) + + expect(body_as_json) + .to be_present + .and have_attributes( + first: include(shortcode: 'coolcat') + ) + end + end + + context 'when logged in' do + it 'returns http success and json' do + get api_v1_custom_emojis_path, headers: headers + + expect(response) + .to have_http_status(200) + + expect(body_as_json) + .to be_present + .and have_attributes( + first: include(shortcode: 'coolcat') + ) + end + end + end +end