The managers on a model are set.
(self)
| 5449 | ) |
| 5450 | |
| 5451 | def test_alter_model_managers(self): |
| 5452 | """ |
| 5453 | The managers on a model are set. |
| 5454 | """ |
| 5455 | project_state = self.set_up_test_model("test_almoma") |
| 5456 | # Test the state alteration |
| 5457 | operation = migrations.AlterModelManagers( |
| 5458 | "Pony", |
| 5459 | managers=[ |
| 5460 | ("food_qs", FoodQuerySet.as_manager()), |
| 5461 | ("food_mgr", FoodManager("a", "b")), |
| 5462 | ("food_mgr_kwargs", FoodManager("x", "y", 3, 4)), |
| 5463 | ], |
| 5464 | ) |
| 5465 | self.assertEqual(operation.describe(), "Change managers on Pony") |
| 5466 | self.assertEqual(operation.formatted_description(), "~ Change managers on Pony") |
| 5467 | self.assertEqual(operation.migration_name_fragment, "alter_pony_managers") |
| 5468 | managers = project_state.models["test_almoma", "pony"].managers |
| 5469 | self.assertEqual(managers, []) |
| 5470 | |
| 5471 | new_state = project_state.clone() |
| 5472 | operation.state_forwards("test_almoma", new_state) |
| 5473 | self.assertIn(("test_almoma", "pony"), new_state.models) |
| 5474 | managers = new_state.models["test_almoma", "pony"].managers |
| 5475 | self.assertEqual(managers[0][0], "food_qs") |
| 5476 | self.assertIsInstance(managers[0][1], models.Manager) |
| 5477 | self.assertEqual(managers[1][0], "food_mgr") |
| 5478 | self.assertIsInstance(managers[1][1], FoodManager) |
| 5479 | self.assertEqual(managers[1][1].args, ("a", "b", 1, 2)) |
| 5480 | self.assertEqual(managers[2][0], "food_mgr_kwargs") |
| 5481 | self.assertIsInstance(managers[2][1], FoodManager) |
| 5482 | self.assertEqual(managers[2][1].args, ("x", "y", 3, 4)) |
| 5483 | rendered_state = new_state.apps |
| 5484 | model = rendered_state.get_model("test_almoma", "pony") |
| 5485 | self.assertIsInstance(model.food_qs, models.Manager) |
| 5486 | self.assertIsInstance(model.food_mgr, FoodManager) |
| 5487 | self.assertIsInstance(model.food_mgr_kwargs, FoodManager) |
| 5488 | |
| 5489 | def test_alter_model_managers_emptying(self): |
| 5490 | """ |
nothing calls this directly
no test coverage detected