def test_should_return_query_for_where_multiple_fields(self): field1 = factory_field(self.table) field2 = factory_field(self.table) self.dal.select(self.field).where(~(field1 == 2) &(field2 != 1)) expected = "SELECT `test_table`.`My_Field` FROM test_table WHERE (NOT (`test_table`.`My_Field1` = 2)) AND (`test_table`.`My_Field2` <> 1)" self.assertEqual(expected, self.dal.query)
def test_should_return_query_for_select_multiple_fields(self): field1 = factory_field(self.table) field2 = factory_field(self.table) self.dal.select(self.field, field1, field2) expected = "SELECT `test_table`.`My_Field`, `test_table`.`My_Field1`, `test_table`.`My_Field2` FROM test_table" self.assertEqual(expected, self.dal.query)
def test_should_return_query_for_group_by_multiple_fields(self): field1 = factory_field(self.table) field2 = factory_field(self.table) self.dal.select(self.field).group_by(~field1, field2) expected = "SELECT `test_table`.`My_Field` FROM test_table GROUP BY `test_table`.`My_Field1`, `test_table`.`My_Field2`" self.assertEqual(expected, self.dal.query)
def test_should_return_query_for_order_by_multiple_fields(self): field1 = factory_field(self.table) field2 = factory_field(self.table) self.dal.select(self.field).order_by(~field1, field2) expected = "SELECT `test_table`.`My_Field` FROM test_table ORDER BY `test_table`.`My_Field1` DESC, `test_table`.`My_Field2` ASC" self.assertEqual(expected, self.dal.query)
def test_should_return_field_calling_dal_twice(self): field = factory_field(self.table) self.dal.set_table(self.table) self.assertIs(field, self.dal(self.table.name)('My_Field'))
def test_should_append_table_in_from_using_having(self): field1 = factory_field(FakeTable('test_table2')) self.dal.select(self.field).having(field1 == 2) self.assertEqual(2, self.dal.query.count('test_table2'))
def setUp(self): self.dal = SQLDAL() self.table = FakeTable('test_table') self.field = factory_field(self.table)