mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 16:21:32 +08:00
22 lines
673 B
Ruby
22 lines
673 B
Ruby
|
require 'rails_helper'
|
||
|
require 'post_action_creator'
|
||
|
|
||
|
describe PostActionCreator do
|
||
|
let(:user) { Fabricate(:user) }
|
||
|
let(:post) { Fabricate(:post) }
|
||
|
let(:like_type_id) { PostActionType.types[:like] }
|
||
|
|
||
|
|
||
|
describe 'perform' do
|
||
|
it 'creates a post action' do
|
||
|
expect { PostActionCreator.new(user, post).perform(like_type_id) }.to change { PostAction.count }.by(1)
|
||
|
expect(PostAction.find_by(user: user, post: post, post_action_type_id: like_type_id)).to be_present
|
||
|
end
|
||
|
|
||
|
it 'does not create an invalid post action' do
|
||
|
expect { PostActionCreator.new(user, nil).perform(like_type_id) }.to raise_error(Discourse::InvalidAccess)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|