mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-30 03:36:23 -04:00
89 lines
2.4 KiB
Ruby
89 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe "Conversations", :js do
|
|
let(:sender) { create(:member) }
|
|
let(:recipient) { create(:member, login_name: 'beyonce') }
|
|
|
|
before do
|
|
sender.send_message(recipient, "this is the body", "something i want to say")
|
|
login_as recipient
|
|
end
|
|
|
|
describe "Read conversations list" do
|
|
before do
|
|
visit root_path
|
|
click_link recipient.login_name
|
|
click_link 'Inbox'
|
|
end
|
|
|
|
it_behaves_like 'is accessible'
|
|
|
|
it { expect(page).to have_content 'something i want to say' }
|
|
it { page.percy_snapshot(page, name: 'conversations#index') }
|
|
|
|
describe 'deleting' do
|
|
before do
|
|
check 'conversation_ids[]'
|
|
click_button 'Delete'
|
|
end
|
|
|
|
describe 'view trash' do
|
|
before { click_link 'trash' }
|
|
|
|
it { expect(page).to have_content 'something i want to say' }
|
|
|
|
describe 'restore conversation' do
|
|
before { click_link class: 'restore' }
|
|
|
|
it { expect(page).to have_no_content 'something i want to say' }
|
|
|
|
describe 'conversation was restored' do
|
|
before { click_link 'inbox' }
|
|
|
|
it { expect(page).to have_content 'something i want to say' }
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'deleting conversations' do
|
|
it 'deletes multiple conversations from the inbox' do
|
|
sender.send_message(recipient, 'this is a message', 'message 1')
|
|
sender.send_message(recipient, 'this is another message', 'follow up message')
|
|
|
|
visit root_path
|
|
click_link recipient.login_name
|
|
click_link 'Inbox'
|
|
|
|
all('input[type=checkbox]').each(&:click)
|
|
click_button 'Delete'
|
|
|
|
expect(page).to have_no_content 'this is a message'
|
|
expect(page).to have_no_content 'this is another message'
|
|
end
|
|
|
|
it 'deletes multiple conversations from the sentbox' do
|
|
sender.send_message(recipient, 'this is a message', 'message 1')
|
|
sender.send_message(recipient, 'this is another message', 'follow up message')
|
|
|
|
visit root_path
|
|
click_link recipient.login_name
|
|
click_link 'Inbox'
|
|
|
|
expect(page).to have_css('.sent')
|
|
find('.sent').click
|
|
|
|
all('input[type=checkbox]').each(&:click)
|
|
click_button 'Delete'
|
|
|
|
expect(page).to have_css('.sent')
|
|
find('.sent').click
|
|
expect(page).to have_no_content 'this is a message'
|
|
expect(page).to have_no_content 'this is another message'
|
|
end
|
|
end
|
|
end
|