カテゴリー:
Rails
タグ:
 Rails default_scope to_sql

このエントリーをはてなブックマークに追加
更新日時:
2013年08月14日(水)
作成日時:
2013年08月14日(水)

前の記事 / 次の記事

参考:How can i have rspec test for my default scope

default_scopeの値をどうすれば参照できるのか考えてたけど、
stackoverflow様によるとsqlに変換してそれを較べよと・・・。

default_scope じゃなくて named_scope をテストする場合も同様の手法でテストできる。

expect(OneClass.scoped.to_sql).to eq OneClass.unscoped.order(:created_at).to_sql

Rails4からはscopedが非推奨になっているので代わりにallを使う。

expect(OneClass.all.to_sql).to eq OneClass.unscoped.order(:created_at).to_sql