use deuterium::*; #[test] fn order_asc() { let jedi_table = TableDef::new("jedi"); let name = NamedField::::field_of("name", &jedi_table); let force_level = NamedField::::field_of("force_level", &jedi_table); let side = NamedField::::field_of("side", &jedi_table); let query = jedi_table.select_all().order_by(&name); assert_sql!(query, "SELECT * FROM jedi ORDER BY name ASC;"); let query = query.order_append(&force_level); assert_sql!(query, "SELECT * FROM jedi ORDER BY name ASC, force_level ASC;"); let query = query.order_prepend(&side); assert_sql!(query, "SELECT * FROM jedi ORDER BY side ASC, name ASC, force_level ASC;"); } #[test] fn order_desc() { let jedi_table = TableDef::new("jedi"); let name = NamedField::::field_of("name", &jedi_table); let force_level = NamedField::::field_of("force_level", &jedi_table); let side = NamedField::::field_of("side", &jedi_table); let query = jedi_table.select_all().reverse_by(&name); assert_sql!(query, "SELECT * FROM jedi ORDER BY name DESC;"); let query = query.reverse_append(&force_level); assert_sql!(query, "SELECT * FROM jedi ORDER BY name DESC, force_level DESC;"); let query = query.reverse_prepend(&side); assert_sql!(query, "SELECT * FROM jedi ORDER BY side DESC, name DESC, force_level DESC;"); }