Skip to content

Instantly share code, notes, and snippets.

@dgorodnichy
Last active June 14, 2020 19:22
Show Gist options
  • Save dgorodnichy/b9e177b3bec88c502851ea18e7aa5f91 to your computer and use it in GitHub Desktop.
Save dgorodnichy/b9e177b3bec88c502851ea18e7aa5f91 to your computer and use it in GitHub Desktop.
require 'test_helper'
class ToggleLikeActionScriptTest < ActiveSupport::TestCase
def setup
@user = users(:john_doe)
@post = posts(:lorem_ipsum)
end
def test_it_creates_like
result = ToggleLikeActionScript.new(@user, @post).perform
assert result.value
assert @user.likes.where(post: @post).present?
end
def test_it_destroys_like
@user.likes.create(post: @post)
result = ToggleLikeActionScript.new(@user, @post).perform
assert_not result.value
assert @user.likes.where(post: @post).blank?
end
def test_it_show_errros_on_fail_case
result = ToggleLikeActionScript.new(@user, nil).perform
assert_nil result.value
assert_not_empty result.errors
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment