# frozen_string_literal: true RSpec.describe BasicUserWithStatusSerializer do fab!(:user_status) fab!(:user) { Fabricate(:user, user_status: user_status) } let(:serializer) { described_class.new(user, scope: Guardian.new(user), root: false) } it "adds user status when enabled" do SiteSetting.enable_user_status = true json = serializer.as_json expect(json[:status]).to_not be_nil do |status| expect(status.description).to eq(user_status.description) expect(status.emoji).to eq(user_status.emoji) end end it "doesn't add user status when status is disabled in site settings" do SiteSetting.enable_user_status = false json = serializer.as_json expect(json.keys).not_to include :status end it "doesn't add expired user status" do SiteSetting.enable_user_status = true user.user_status.ends_at = 1.minutes.ago serializer = described_class.new(user, scope: Guardian.new(user), root: false) json = serializer.as_json expect(json.keys).not_to include :status end it "doesn't return status if user doesn't have it set" do SiteSetting.enable_user_status = true user.clear_status! user.reload json = serializer.as_json expect(json.keys).not_to include :status end end