# frozen_string_literal: true
require 'test_helper'

class QuizCommentPolicyTest < PolicyAssertions::Test
  test 'should require current_user' do
    assert_raise Pundit::NotAuthorizedError do
      QuizCommentPolicy.new(nil, User.first).create?
    end
  end

  def test_create
    candidate = candidates(:stacy)
    comment = QuizComment.new(test_hash: candidate.test_hash)

    assert_permit users(:manager), comment
    assert_permit users(:reviewer), comment
    assert_permit users(:admin), comment

    refute_permit users(:recruiter), comment
  end

  def test_update
    assert_permit users(:reviewer2), quiz_comments(:com6)

    refute_permit users(:reviewer), quiz_comments(:com6)
    refute_permit users(:manager), quiz_comments(:com6)
    refute_permit users(:admin), quiz_comments(:com6)
    refute_permit users(:recruiter), quiz_comments(:com6)
  end
end
