aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/test/models/reflection_test.rb
blob: da866ca9967ccf9858db07ffc75c8faf80177e52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

require "test_helper"

class ActiveStorage::ReflectionTest < ActiveSupport::TestCase
  test "allows reflecting for all attachment" do
    expected_classes =
      User.reflect_on_all_attachments.all? do |reflection|
        reflection.is_a?(ActiveStorage::Reflection::HasOneAttachedReflection) ||
          reflection.is_a?(ActiveStorage::Reflection::HasManyAttachedReflection)
      end

    assert expected_classes
  end

  test "allows reflecting on a singular has_one_attached attachment" do
    reflection = User.reflect_on_attachment(:avatar)

    assert_equal :avatar, reflection.name
    assert_equal :has_one_attached, reflection.macro
  end

  test "allows reflecting on a singular has_many_attached attachment" do
    reflection = User.reflect_on_attachment(:highlights)

    assert_equal :highlights, reflection.name
    assert_equal :has_many_attached, reflection.macro
  end
end