Regression test for #12654: lookup_field
(self)
| 129 | empty_value = "-empty-" |
| 130 | |
| 131 | def test_values_from_lookup_field(self): |
| 132 | """ |
| 133 | Regression test for #12654: lookup_field |
| 134 | """ |
| 135 | SITE_NAME = "example.com" |
| 136 | TITLE_TEXT = "Some title" |
| 137 | CREATED_DATE = datetime.min |
| 138 | ADMIN_METHOD = "admin method" |
| 139 | SIMPLE_FUNCTION = "function" |
| 140 | INSTANCE_ATTRIBUTE = "attr" |
| 141 | |
| 142 | class MockModelAdmin: |
| 143 | def get_admin_value(self, obj): |
| 144 | return ADMIN_METHOD |
| 145 | |
| 146 | def simple_function(obj): |
| 147 | return SIMPLE_FUNCTION |
| 148 | |
| 149 | site_obj = Site(domain=SITE_NAME) |
| 150 | article = Article( |
| 151 | site=site_obj, |
| 152 | title=TITLE_TEXT, |
| 153 | created=CREATED_DATE, |
| 154 | ) |
| 155 | article.non_field = INSTANCE_ATTRIBUTE |
| 156 | |
| 157 | verifications = ( |
| 158 | ("site", SITE_NAME), |
| 159 | ("created", localize(CREATED_DATE)), |
| 160 | ("title", TITLE_TEXT), |
| 161 | ("get_admin_value", ADMIN_METHOD), |
| 162 | (simple_function, SIMPLE_FUNCTION), |
| 163 | ("test_from_model", article.test_from_model()), |
| 164 | ("non_field", INSTANCE_ATTRIBUTE), |
| 165 | ("site__domain", SITE_NAME), |
| 166 | ) |
| 167 | |
| 168 | mock_admin = MockModelAdmin() |
| 169 | for name, value in verifications: |
| 170 | field, attr, resolved_value = lookup_field(name, article, mock_admin) |
| 171 | |
| 172 | if field is not None: |
| 173 | resolved_value = display_for_field( |
| 174 | resolved_value, field, self.empty_value |
| 175 | ) |
| 176 | |
| 177 | self.assertEqual(value, resolved_value) |
| 178 | |
| 179 | def test_empty_value_display_for_field(self): |
| 180 | tests = [ |
nothing calls this directly
no test coverage detected