Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let(:segment) { create(:segment) }
- let!(:rule1) do
- Rule.create!(segment: segment, filter_key: 'generic',
- attr_name: 'first_name', operator: '=', values: ['john'])
- end
- let!(:rule2) do
- Rule.create!(segment: segment, filter_key: 'generic',
- attr_name: 'orders_count', operator: '>=', values: ['3'])
- end
- let(:actual_query) { segment.customers.to_sql }
- let(:expected_query) do
- Customer
- .where('first_name = john')
- .where('orders_count >= 3')
- .to_sql
- end
- it 'applies all the rules scopes to customer' do
- expect(actual_query).to eq(expected_query)
- end
- expected: "SELECT "customers".* FROM "customers" WHERE (orders_count >= '3') AND (first_name = 'john')"
- got: "SELECT "customers".* FROM "customers" WHERE (first_name = 'john') AND (orders_count >= '3')"
- (compared using ==)
Add Comment
Please, Sign In to add comment