69 lines
3.0 KiB
Ruby
69 lines
3.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
require 'exporter'
|
|
|
|
RSpec.describe Exporter do
|
|
let(:params) { {
|
|
answered_count: 144,
|
|
asked_count: 72,
|
|
ban_reason: nil,
|
|
banned_until: nil,
|
|
comment_smiled_count: 15,
|
|
commented_count: 12,
|
|
confirmation_sent_at: 2.weeks.ago.utc,
|
|
confirmed_at: 2.weeks.ago.utc + 1.hour,
|
|
created_at: 2.weeks.ago.utc,
|
|
current_sign_in_at: 8.hours.ago.utc,
|
|
current_sign_in_ip: '198.51.100.220',
|
|
last_sign_in_at: 1.hour.ago,
|
|
last_sign_in_ip: '192.0.2.14',
|
|
locale: 'en',
|
|
permanently_banned: false,
|
|
privacy_allow_anonymous_questions: true,
|
|
privacy_allow_public_timeline: false,
|
|
privacy_allow_stranger_answers: false,
|
|
privacy_show_in_search: true,
|
|
screen_name: 'fizzyraccoon',
|
|
show_foreign_themes: true,
|
|
sign_in_count: 10,
|
|
smiled_count: 28,
|
|
profile: {
|
|
display_name: 'Fizzy Raccoon',
|
|
description: 'A small raccoon',
|
|
location: 'Binland',
|
|
motivation_header: '',
|
|
website: 'https://retrospring.net',
|
|
} } }
|
|
let(:user) { FactoryBot.create(:user,
|
|
**params) }
|
|
let(:instance) { described_class.new(user) }
|
|
|
|
describe '#collect_user_info' do
|
|
subject { instance.send(:collect_user_info) }
|
|
|
|
context 'exporting a user' do
|
|
it "collects user info" do
|
|
subject
|
|
expect(instance.instance_variable_get(:@obj)).to eq(params.merge({
|
|
administrator: false,
|
|
moderator: false,
|
|
id: user.id,
|
|
updated_at: user.updated_at,
|
|
profile_header: user.profile_header,
|
|
profile_header_file_name: nil,
|
|
profile_header_h: nil,
|
|
profile_header_w: nil,
|
|
profile_header_x: nil,
|
|
profile_header_y: nil,
|
|
profile_picture_file_name: nil,
|
|
profile_picture_h: nil,
|
|
profile_picture_w: nil,
|
|
profile_picture_x: nil,
|
|
profile_picture_y: nil,
|
|
}))
|
|
end
|
|
end
|
|
end
|
|
end
|