64 lines
1.5 KiB
Ruby
64 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "Chat CSV exports", type: :system do
|
|
fab!(:admin) { Fabricate(:admin) }
|
|
let(:csv_export_pm_page) { PageObjects::Pages::CSVExportPM.new }
|
|
|
|
before do
|
|
Jobs.run_immediately!
|
|
sign_in(admin)
|
|
chat_system_bootstrap
|
|
end
|
|
|
|
xit "exports chat messages" do
|
|
message = Fabricate(:chat_message)
|
|
|
|
visit "/admin/plugins/chat"
|
|
click_button "Create export"
|
|
|
|
visit "/u/#{admin.username}/messages"
|
|
click_link "[Chat Message] Data export complete"
|
|
expect(csv_export_pm_page).to have_download_link
|
|
exported_data = csv_export_pm_page.download_and_extract
|
|
|
|
expect(exported_data.first).to eq(
|
|
%w[
|
|
id
|
|
chat_channel_id
|
|
chat_channel_name
|
|
user_id
|
|
username
|
|
message
|
|
cooked
|
|
created_at
|
|
updated_at
|
|
deleted_at
|
|
in_reply_to_id
|
|
last_editor_id
|
|
last_editor_username
|
|
],
|
|
)
|
|
|
|
time_format = "%Y-%m-%d %H:%M:%S UTC"
|
|
expect(exported_data.second).to eq(
|
|
[
|
|
message.id.to_s,
|
|
message.chat_channel.id.to_s,
|
|
message.chat_channel.name,
|
|
message.user.id.to_s,
|
|
message.user.username,
|
|
message.message,
|
|
message.cooked,
|
|
message.created_at.strftime(time_format),
|
|
message.updated_at.strftime(time_format),
|
|
nil,
|
|
nil,
|
|
message.last_editor.id.to_s,
|
|
message.last_editor.username,
|
|
],
|
|
)
|
|
ensure
|
|
csv_export_pm_page.clear_downloads
|
|
end
|
|
end
|