2020# Django
2121from django .contrib .auth .models import User
2222from django .urls import reverse
23+ from django .utils import timezone
2324
2425# wger
2526from wger .core .tests .base_testcase import WgerTestCase
@@ -146,7 +147,7 @@ def test_bodyweight_new(self):
146147 entry = user .userprofile .user_bodyweight (80 )
147148 count_after = WeightEntry .objects .filter (user = user ).count ()
148149 self .assertEqual (count_before , count_after - 1 )
149- self .assertEqual (entry .date , datetime . date . today ())
150+ self .assertEqual (entry .date . date (), timezone . now (). date ())
150151
151152 def test_bodyweight_new_2 (self ):
152153 """
@@ -155,60 +156,41 @@ def test_bodyweight_new_2(self):
155156 user = User .objects .get (pk = 2 )
156157 count_before = WeightEntry .objects .filter (user = user ).count ()
157158 last_entry = WeightEntry .objects .filter (user = user ).latest ()
158- last_entry .date = datetime . date . today () - datetime .timedelta (weeks = 1 )
159+ last_entry .date = timezone . now () - datetime .timedelta (weeks = 1 )
159160 last_entry .save ()
160161
161162 entry = user .userprofile .user_bodyweight (80 )
162163 count_after = WeightEntry .objects .filter (user = user ).count ()
163164 self .assertEqual (count_before , count_after - 1 )
164- self .assertEqual (entry .date , datetime . date . today ())
165+ self .assertEqual (entry .date . date (), timezone . now (). date ())
165166
166- def test_bodyweight_no_entries (self ):
167+ def test_bodyweight_new_3 (self ):
167168 """
168- Tests that a new weight entry is created if there are no weight entries
169+ Tests that a new weight entry is created even if others exist today
169170 """
170171 user = User .objects .get (pk = 2 )
171- WeightEntry .objects .filter (user = user ).delete ()
172-
173172 count_before = WeightEntry .objects .filter (user = user ).count ()
174- entry = user .userprofile .user_bodyweight (80 )
175- count_after = WeightEntry .objects .filter (user = user ).count ()
176- self .assertEqual (count_before , count_after - 1 )
177- self .assertEqual (entry .date , datetime .date .today ())
178-
179- def test_bodyweight_edit (self ):
180- """
181- Tests that the last weight entry is edited
182- """
183- user = User .objects .get (pk = 2 )
184173 last_entry = WeightEntry .objects .filter (user = user ).latest ()
185- last_entry .date = datetime . date . today () - datetime .timedelta (days = 3 )
174+ last_entry .date = timezone . now () - datetime .timedelta (hours = 1 )
186175 last_entry .save ()
187176
188- count_before = WeightEntry .objects .filter (user = user ).count ()
189- entry = user .userprofile .user_bodyweight (100 )
177+ entry = user .userprofile .user_bodyweight (80 )
190178 count_after = WeightEntry .objects .filter (user = user ).count ()
191- self .assertEqual (count_before , count_after )
192- self .assertEqual (entry .pk , last_entry .pk )
193- self .assertEqual (entry .date , last_entry .date )
194- self .assertEqual (entry .weight , 100 )
179+ self .assertEqual (count_before , count_after - 1 )
180+ self .assertEqual (entry .date .date (), timezone .now ().date ())
195181
196- def test_bodyweight_edit_2 (self ):
182+ def test_bodyweight_no_entries (self ):
197183 """
198- Tests that the last weight entry is edited
184+ Tests that a new weight entry is created if there are no weight entries
199185 """
200186 user = User .objects .get (pk = 2 )
201- last_entry = WeightEntry .objects .filter (user = user ).latest ()
202- last_entry .date = datetime .date .today ()
203- last_entry .save ()
187+ WeightEntry .objects .filter (user = user ).delete ()
204188
205189 count_before = WeightEntry .objects .filter (user = user ).count ()
206- entry = user .userprofile .user_bodyweight (100 )
190+ entry = user .userprofile .user_bodyweight (80 )
207191 count_after = WeightEntry .objects .filter (user = user ).count ()
208- self .assertEqual (count_before , count_after )
209- self .assertEqual (entry .pk , last_entry .pk )
210- self .assertEqual (entry .date , last_entry .date )
211- self .assertEqual (entry .weight , 100 )
192+ self .assertEqual (count_before , count_after - 1 )
193+ self .assertEqual (entry .date .date (), timezone .now ().date ())
212194
213195
214196class PreferencesCalculationsTestCase (WgerTestCase ):
@@ -223,7 +205,7 @@ def test_last_weight_entry(self):
223205 self .user_login ('test' )
224206 user = User .objects .get (pk = 2 )
225207 entry = WeightEntry ()
226- entry .date = datetime . datetime . today ()
208+ entry .date = timezone . now ()
227209 entry .user = user
228210 entry .weight = 100
229211 entry .save ()
@@ -263,6 +245,10 @@ def test_basal_metabolic_rate(self):
263245
264246 self .user_login ('test' )
265247
248+ # Test User (pk=2)
249+ # 180 cm, 20 years
250+ # Last weight entry is 83 kg
251+
266252 # Male
267253 user = User .objects .get (pk = 2 )
268254 bmr = user .userprofile .calculate_basal_metabolic_rate ()
0 commit comments