Ruby on rails Rspec/Rails:使用finder\u sql条件为has\u many编写测试

Ruby on rails Rspec/Rails:使用finder\u sql条件为has\u many编写测试,ruby-on-rails,rspec,has-many,finder-sql,Ruby On Rails,Rspec,Has Many,Finder Sql,这是我的有许多声明: has_many :managed_athletes, class_name: "Athlete", finder_sql: ->(record) do record = self if record.nil? "SELECT DISTINCT users.* FROM users INNER JOIN contributorships ON users.i

这是我的
有许多
声明:

  has_many :managed_athletes, class_name: "Athlete",
            finder_sql: ->(record) do
              record = self if record.nil?
              "SELECT DISTINCT users.* FROM users INNER JOIN contributorships
              ON users.id = contributorships.athlete_id 
              INNER JOIN invitations
              ON users.id = invitations.sender_id
              WHERE users.type IN ('Athlete') AND contributorships.user_id = #{record.id} 
              AND invitations.requester_id = #{record.id}
              AND (invitations.current_state = 'accepted')"
            end
这是我的Rspec测试(失败了)。有没有办法为上述内容编写测试?我可以将其转化为一个实例方法,并对其进行测试,但我试图让它有一个
多个
范围

it { should have_many(:managed_athletes).class_name "Athlete" }

这部分应该做什么
.class\u名称“运动员”
我不认为匹配者会这样工作