From 63acf588caab07e6978d388d56008355c95afd42 Mon Sep 17 00:00:00 2001 From: Skia Date: Sat, 20 May 2017 14:27:13 +0200 Subject: [PATCH] Add basic unfinished counter test --- core/management/commands/populate.py | 3 +- counter/tests.py | 53 ++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/core/management/commands/populate.py b/core/management/commands/populate.py index 68f80458..b0962ff3 100644 --- a/core/management/commands/populate.py +++ b/core/management/commands/populate.py @@ -333,7 +333,7 @@ Welcome to the wiki page! # Counters Customer(user=skia, account_id="6568j", amount=0).save() - Customer(user=r, account_id="4000", amount=0).save() + Customer(user=r, account_id="4000k", amount=0).save() p = ProductType(name="Bières bouteilles") p.save() c = ProductType(name="Cotisations") @@ -362,6 +362,7 @@ Welcome to the wiki page! mde = Counter.objects.filter(name="MDE").first() mde.products.add(barb) mde.products.add(cble) + mde.sellers.add(skia) mde.save() eboutic = Counter.objects.filter(name="Eboutic").first() diff --git a/counter/tests.py b/counter/tests.py index b8fbbe1e..7a1ce787 100644 --- a/counter/tests.py +++ b/counter/tests.py @@ -22,6 +22,55 @@ # # -from django.test import TestCase +import re +from pprint import pprint + +from django.test import TestCase +from django.core.urlresolvers import reverse +from django.core.management import call_command + +from core.models import User +from counter.models import Counter + + +class CounterTest(TestCase): + def setUp(self): + call_command("populate") + self.skia = User.objects.filter(username="skia").first() + self.mde = Counter.objects.filter(name="MDE").first() + + def test_full_click(self): + response = self.client.post(reverse("counter:login", kwargs={"counter_id":self.mde.id}), { + "username": self.skia.username, + "password": "plop" + }) + response = self.client.get(reverse("counter:details", kwargs={"counter_id":self.mde.id})) + # TODO check that barman is logged: + # self.assertTrue(mon barman est bien dans le HTML de response.content) + counter_token = re.search(r'name="counter_token" value="([^"]*)"', str(response.content)).group(1) + + response = self.client.post(reverse("counter:details", + kwargs={"counter_id":self.mde.id}), { + "code": "4000k", + "counter_token": counter_token, + }) + location = response.get('location') + # TODO check qu'on a bien eu la bonne page, avec le bon client, etc... + # response = self.client.get(response.get('location')) + response = self.client.post(location, { + 'action': 'refill', + 'amount': '10', + 'payment_method': 'CASH', + 'bank': 'OTHER', + }) + response = self.client.post(location, { + 'action': 'code', + 'code': 'BARB', + }) + response = self.client.post(location, { + 'action': 'code', + 'code': 'fin', + }) + # TODO finir le test en vérifiant que les produits ont bien été clickés + # hint: pprint(response.__dict__) -# Create your tests here.