Added test script and updatede README.md

This commit is contained in:
Robbe Van Herck 2018-11-29 15:46:06 +01:00
parent a284514663
commit f2e0be83b9
No known key found for this signature in database
GPG Key ID: 4D1C8E8FBD1C7188
2 changed files with 58 additions and 4 deletions

View File

@ -2,7 +2,30 @@
Zoals besproken op de eerste bestuursvergadering.
! Beware: ux is nog verschrikkelijk lelijk, functioneel werkt het wel
! Beware: UX is nog verschrikkelijk lelijk, functioneel werkt het wel
## Setup
```bash
# Maak een virtualenv
virtualenv -p python3 venv
# Activeer de virtualenv
. ./venv/bin/activate
# Installeer de packages
pip install -r requirements.txt
# Vraag de Zeus-key en secret aan de dichtsbijzijnde sysadmin en edit config.py
cp config.example.py config.py
vim config.py
# Maak de databases
setup_db.py
# Voor testing (voegt een paar test-users, achievements en endorsements toe aan de db)
test.py
```
## Endpoints
@ -43,11 +66,11 @@ Relatie tussen `User` en `Achievement`
### /api/users
Returnt een lijst van strings (usernames)
Returnt een lijst van strings (usernames).
### /api/achievements
Return een lijst van Achievement-objecten
Return een lijst van Achievement-objecten.
Achievement-object:
```JSON
@ -61,7 +84,7 @@ Achievement-object:
### /api/all
Returnt een lijst van User-objecten
Returnt een lijst van User-objecten.
User-object
```JSON
@ -70,3 +93,11 @@ User-object
achievement: [Achievement] -> Lijst met achievements van deze persoon
}
```
### /api/dot
Returnt de [GraphViz-dot](https://www.graphviz.org/doc/info/lang.html) notatie van de endorsement-graaf.
### /api/svg
Returnt de svg van de endorsement-graaf.

23
test.py Normal file
View File

@ -0,0 +1,23 @@
from models import User, Achievement
from app import db
db.drop_all()
db.create_all()
persoonA = User(id="AAA")
persoonB = User(id="BBB")
persoonC = User(id="CCC")
achievementA = Achievement(name="AA", achieved_by=persoonA.id)
achievementB = Achievement(name="BB", achieved_by=persoonB.id)
achievementA.endorsed_by.append(persoonC)
db.session.add(persoonA)
db.session.add(persoonB)
db.session.add(persoonC)
db.session.add(achievementA)
db.session.add(achievementB)
db.session.commit()