Guest User

Untitled

a guest
Jan 16th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. let(:segment) { create(:segment) }
  2.  
  3. let!(:rule1) do
  4. Rule.create!(segment: segment, filter_key: 'generic',
  5. attr_name: 'first_name', operator: '=', values: ['john'])
  6. end
  7.  
  8. let!(:rule2) do
  9. Rule.create!(segment: segment, filter_key: 'generic',
  10. attr_name: 'orders_count', operator: '>=', values: ['3'])
  11. end
  12.  
  13. let(:actual_query) { segment.customers.to_sql }
  14. let(:expected_query) do
  15. Customer
  16. .where('first_name = john')
  17. .where('orders_count >= 3')
  18. .to_sql
  19. end
  20.  
  21. it 'applies all the rules scopes to customer' do
  22. expect(actual_query).to eq(expected_query)
  23. end
  24.  
  25. expected: "SELECT "customers".* FROM "customers" WHERE (orders_count >= '3') AND (first_name = 'john')"
  26.  
  27. got: "SELECT "customers".* FROM "customers" WHERE (first_name = 'john') AND (orders_count >= '3')"
  28. (compared using ==)
Add Comment
Please, Sign In to add comment