MCPcopy Index your code
hub / github.com/MongoEngine/mongoengine / test_regular_usage

Method test_regular_usage

tests/fields/test_date_field.py:90–134  ·  view source on GitHub ↗

Tests for regular datetime fields

(self)

Source from the content-addressed store, hash-verified

88 assert log.date == d2.date()
89
90 def test_regular_usage(self):
91 """Tests for regular datetime fields"""
92
93 class LogEntry(Document):
94 date = DateField()
95
96 LogEntry.drop_collection()
97
98 d1 = datetime.datetime(1970, 1, 1, 0, 0, 1)
99 log = LogEntry()
100 log.date = d1
101 log.validate()
102 log.save()
103
104 for query in (d1, d1.isoformat(" ")):
105 log1 = LogEntry.objects.get(date=query)
106 assert log == log1
107
108 if dateutil:
109 log1 = LogEntry.objects.get(date=d1.isoformat("T"))
110 assert log == log1
111
112 # create additional 19 log entries for a total of 20
113 for i in range(1971, 1990):
114 d = datetime.datetime(i, 1, 1, 0, 0, 1)
115 LogEntry(date=d).save()
116
117 assert LogEntry.objects.count() == 20
118
119 # Test ordering
120 logs = LogEntry.objects.order_by("date")
121 i = 0
122 while i < 19:
123 assert logs[i].date <= logs[i + 1].date
124 i += 1
125
126 logs = LogEntry.objects.order_by("-date")
127 i = 0
128 while i < 19:
129 assert logs[i].date >= logs[i + 1].date
130 i += 1
131
132 # Test searching
133 logs = LogEntry.objects.filter(date__gte=datetime.datetime(1980, 1, 1))
134 assert logs.count() == 10
135
136 def test_validation(self):
137 """Ensure that invalid values cannot be assigned to datetime

Callers

nothing calls this directly

Calls 8

drop_collectionMethod · 0.80
order_byMethod · 0.80
LogEntryClass · 0.70
validateMethod · 0.45
saveMethod · 0.45
getMethod · 0.45
countMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected