Initial commit – AufmaßCreater v2.35
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"""Test the formel update API flow"""
|
||||
import urllib.request, urllib.parse, json, sys
|
||||
|
||||
BASE = 'http://127.0.0.1:5000'
|
||||
|
||||
# Login
|
||||
s = urllib.request.build_opener(urllib.request.HTTPCookieProcessor())
|
||||
req = urllib.request.Request(BASE + '/auth/login',
|
||||
data=b'email=fk@kpt-consulting.de&password=kpt2024')
|
||||
s.open(req)
|
||||
|
||||
# Add a test position
|
||||
data = urllib.parse.urlencode({
|
||||
'pos_nr': 'FORMEL-TEST', 'kurztext': 'Test Formel',
|
||||
'einheit': 'M', 'einzelpreis': '50',
|
||||
'faktor': '1.0', 'laenge': '5.0'
|
||||
}).encode()
|
||||
req = urllib.request.Request(BASE + '/projekt/1/1/position/hinzufuegen',
|
||||
data=data, method='POST')
|
||||
r = s.open(req)
|
||||
print('Add position:', r.status)
|
||||
|
||||
# Get positions
|
||||
req = urllib.request.Request(BASE + '/projekt/1/1/positionen')
|
||||
r = s.open(req)
|
||||
positions = json.loads(r.read())
|
||||
pos_id = positions[-1]['id']
|
||||
print(f'Position ID: {pos_id}')
|
||||
|
||||
# Set formel_typ to frei
|
||||
body = json.dumps({'field': 'formel_typ', 'value': 'frei'}).encode()
|
||||
req = urllib.request.Request(
|
||||
BASE + f'/projekt/1/1/position/{pos_id}/update-cell',
|
||||
data=body, method='POST',
|
||||
headers={'Content-Type': 'application/json'})
|
||||
r = s.open(req)
|
||||
resp = json.loads(r.read())
|
||||
print(f'After formel_typ=frei: menge={resp.get("menge")} gp={resp.get("gesamtpreis")} hinten={resp.get("menge_hinten")}')
|
||||
|
||||
# Set formel value
|
||||
body = json.dumps({'field': 'formel', 'value': '2*3+1'}).encode()
|
||||
req = urllib.request.Request(
|
||||
BASE + f'/projekt/1/1/position/{pos_id}/update-cell',
|
||||
data=body, method='POST',
|
||||
headers={'Content-Type': 'application/json'})
|
||||
r = s.open(req)
|
||||
resp = json.loads(r.read())
|
||||
print(f'After formel=2*3+1: menge={resp.get("menge")} gp={resp.get("gesamtpreis")} hinten={resp.get("menge_hinten")}')
|
||||
|
||||
# Cleanup: delete test position
|
||||
req = urllib.request.Request(
|
||||
BASE + f'/projekt/1/1/position/{pos_id}/loeschen', method='POST')
|
||||
s.open(req)
|
||||
print(f'Test position {pos_id} deleted')
|
||||
print('\nSUCCESS: menge_hinten was correctly returned in response')
|
||||
Reference in New Issue
Block a user