mirror of
https://github.com/chenasraf/snpr.git
synced 2026-05-18 01:39:01 +00:00
* fixed message deleting + added tests * hound, codeclimate, travis…
This commit is contained in:
@@ -44,14 +44,14 @@ class MessagesController < ApplicationController
|
||||
end
|
||||
|
||||
def destroy
|
||||
message = Message.where(from_id: current_user.id, id: params[:id]).first
|
||||
message = Message.find_by(id: params[:id])
|
||||
if message
|
||||
message.destroy
|
||||
flash[:notice] = 'Message deleted'
|
||||
redirect_to '/users/' + current_user.id.to_s + '#messages'
|
||||
else
|
||||
render text: 'Unauthorized', status: :unauthorized
|
||||
flash[:warning] = 'Something went wrong!'
|
||||
end
|
||||
redirect_to '/users/' + current_user.id.to_s + '#messages'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
10
spec/factories/messages.rb
Normal file
10
spec/factories/messages.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :message do
|
||||
user
|
||||
sent false
|
||||
subject 'HELLO WORLD'
|
||||
body 'THIS IS AN AWESOME MESSAGE'
|
||||
end
|
||||
end
|
||||
@@ -3,6 +3,39 @@ RSpec.feature 'Messaging' do
|
||||
let!(:alice) { create(:user, name: 'Alice') }
|
||||
let!(:bob) { create(:user, name: 'Bob') }
|
||||
|
||||
let!(:to_alice) do
|
||||
create(:message, user: bob,
|
||||
from_id: bob.id,
|
||||
to_id: alice.id,
|
||||
sent: true,
|
||||
subject: 'Delete Me')
|
||||
end
|
||||
|
||||
let!(:from_bob) do
|
||||
create(:message, user: alice,
|
||||
from_id: bob.id,
|
||||
to_id: alice.id,
|
||||
subject: 'Delete Me')
|
||||
end
|
||||
|
||||
scenario 'user successfully deletes message' do
|
||||
sign_in(alice)
|
||||
|
||||
click_on('Alice')
|
||||
click_on('Messages')
|
||||
click_on('Delete Me')
|
||||
click_on('Delete')
|
||||
|
||||
expect(page).to have_content('Message deleted')
|
||||
end
|
||||
|
||||
scenario 'user tries reading other ppls messages' do
|
||||
sign_in(alice)
|
||||
visit "/messages/#{to_alice.id}"
|
||||
|
||||
expect(page).to have_content('Oops! Thats none of your business')
|
||||
end
|
||||
|
||||
scenario 'a user sends a messages' do
|
||||
sign_in(alice)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user