MCPcopy
hub / github.com/django/django / test_replace_expressions_transform

Method test_replace_expressions_transform

tests/expressions/tests.py:1401–1431  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1399 "" in F("name")
1400
1401 def test_replace_expressions_transform(self):
1402 replacements = {F("timestamp"): Value(None)}
1403 transform_ref = F("timestamp__date")
1404 self.assertIs(transform_ref.replace_expressions(replacements), transform_ref)
1405 invalid_transform_ref = F("timestamp__invalid")
1406 self.assertIs(
1407 invalid_transform_ref.replace_expressions(replacements),
1408 invalid_transform_ref,
1409 )
1410 replacements = {F("timestamp"): Value(datetime.datetime(2025, 3, 1, 14, 10))}
1411 self.assertEqual(
1412 F("timestamp__date").replace_expressions(replacements),
1413 TruncDate(Value(datetime.datetime(2025, 3, 1, 14, 10))),
1414 )
1415 self.assertEqual(
1416 F("timestamp__date__day").replace_expressions(replacements),
1417 ExtractDay(TruncDate(Value(datetime.datetime(2025, 3, 1, 14, 10)))),
1418 )
1419 invalid_nested_transform_ref = F("timestamp__date__invalid")
1420 self.assertIs(
1421 invalid_nested_transform_ref.replace_expressions(replacements),
1422 invalid_nested_transform_ref,
1423 )
1424 # `replacements` is not unnecessarily looked up a second time for
1425 # transform-less field references as it's the case the vast majority of
1426 # the time.
1427 mock_replacements = mock.Mock()
1428 mock_replacements.get.return_value = None
1429 field_ref = F("name")
1430 self.assertIs(field_ref.replace_expressions(mock_replacements), field_ref)
1431 mock_replacements.get.assert_called_once_with(field_ref)
1432
1433
1434class ExpressionsTests(TestCase):

Callers

nothing calls this directly

Calls 6

replace_expressionsMethod · 0.95
FClass · 0.90
ValueClass · 0.90
TruncDateClass · 0.90
ExtractDayClass · 0.90
replace_expressionsMethod · 0.45

Tested by

no test coverage detected