Beispiel #1
0
 def test_delete_works_if_authorized(self):
     """Make sure the delete view returns 200 status code."""
     aRun = Run(user=self.user, date="2011-7-22", hours=0, minutes=19,
             seconds=59, distance=4)
     aRun.save()
     self.c.login(username='******', password='******')
     status = self.c.post('/delete/1').status_code
     self.assertEquals(status, 302)
     self.assertEquals(0, Run.objects.count())
Beispiel #2
0
 def test_delete_fails_if_unauthorized(self):
     """If you don't own a run you should not be able to delete it."""
     self.user2 = User.objects.create_user("user2", password="******")
     aRun = Run(user=self.user2, date="2011-7-22", hours=0, minutes=19,
             seconds=59, distance=4)
     aRun.save()
     self.c.login(username='******', password='******')
     status = self.c.post('/delete/' + str(aRun.id)).status_code
     self.assertEquals(status, 302)
     self.assertEquals(1, Run.objects.count())
Beispiel #3
0
def add(request):
    """View that handles ajax of adding a run to the database."""
    if request.method == "POST":
        runForm = AddRunForm(request.POST)
        if runForm.is_valid():
            newRun = Run(
                user=request.user,
                date=runForm.cleaned_data["date"],
                hours=runForm.cleaned_data["hours"],
                minutes=runForm.cleaned_data["minutes"],
                seconds=runForm.cleaned_data["seconds"],
                distance=runForm.cleaned_data["distance"],
            )
            newRun.save()
            response = {"id": newRun.pk}
            return HttpResponse(dumps(response), mimetype="application/json")
        else:
            # return errors
            return HttpResponse(dumps(runForm.errors), mimetype="application/json")
    return HttpResponseRedirect("/")
Beispiel #4
0
 def test_calculates_six_week_avg_properly(self):
     """Dashboard view should calculate the 6 week average properly."""
     #Create a bunch of runs to average
     NOW = datetime.now()
     Run1 = Run(user=self.user, date=NOW, hours=0, minutes=19,
             seconds=1, distance=7)
     Run1.save()
     Run2 = Run(user=self.user, date=NOW - timedelta(days=7),
             hours=0, minutes=19, seconds=1, distance=11)
     Run2.save()
     Run3 = Run(user=self.user, date=NOW - timedelta(days=14),
             hours=0, minutes=19, seconds=1, distance=23)
     Run3.save()
     Run4 = Run(user=self.user, date=NOW - timedelta(days=21),
             hours=0, minutes=19, seconds=1, distance=1)
     Run4.save()
     Run5 = Run(user=self.user, date=NOW - timedelta(days=28),
             hours=0, minutes=19, seconds=21, distance=18)
     Run5.save()
     Run6 = Run(user=self.user, date=NOW - timedelta(days=42),
             hours=0, minutes=19, seconds=38, distance=6)
     Run6.save()
     #Create a run that shouldn't be averaged.
     Run7 = Run(user=self.user, date=NOW - timedelta(days=43),
             hours=0, minutes=19, seconds=49, distance=400)
     Run7.save()
     self.c.login(username='******', password='******')
     response = self.c.get('/dashboard/')
     self.assertEquals(response.context['six_week_avg'], 11)