CICD/app/other_api/whatsit/service_test.py

61 lines
1.7 KiB
Python
Raw Normal View History

2019-05-18 19:47:47 +02:00
from flask_sqlalchemy import SQLAlchemy
from typing import List
from app.test.fixtures import app, db # noqa
from .model import Whatsit
from .service import WhatsitService # noqa
from .interface import WhatsitInterface
def test_get_all(db: SQLAlchemy): # noqa
2019-08-03 18:55:38 +02:00
yin: Whatsit = Whatsit(whatsit_id=1, name="Yin", purpose="thing 1")
yang: Whatsit = Whatsit(whatsit_id=2, name="Yang", purpose="thing 2")
2019-05-18 19:47:47 +02:00
db.session.add(yin)
db.session.add(yang)
db.session.commit()
results: List[Whatsit] = WhatsitService.get_all()
assert len(results) == 2
assert yin in results and yang in results
def test_update(db: SQLAlchemy): # noqa
2019-08-03 18:55:38 +02:00
yin: Whatsit = Whatsit(whatsit_id=1, name="Yin", purpose="thing 1")
2019-05-18 19:47:47 +02:00
db.session.add(yin)
db.session.commit()
2019-08-03 18:55:38 +02:00
updates: WhatsitInterface = dict(name="New Whatsit name")
2019-05-18 19:47:47 +02:00
WhatsitService.update(yin, updates)
result: Whatsit = Whatsit.query.get(yin.whatsit_id)
2019-08-03 18:55:38 +02:00
assert result.name == "New Whatsit name"
2019-05-18 19:47:47 +02:00
def test_delete_by_id(db: SQLAlchemy): # noqa
2019-08-03 18:55:38 +02:00
yin: Whatsit = Whatsit(whatsit_id=1, name="Yin", purpose="thing 1")
yang: Whatsit = Whatsit(whatsit_id=2, name="Yang", purpose="thing 2")
2019-05-18 19:47:47 +02:00
db.session.add(yin)
db.session.add(yang)
db.session.commit()
WhatsitService.delete_by_id(1)
db.session.commit()
results: List[Whatsit] = Whatsit.query.all()
assert len(results) == 1
assert yin not in results and yang in results
def test_create(db: SQLAlchemy): # noqa
2019-08-03 18:55:38 +02:00
yin: WhatsitInterface = dict(name="Fancy new whatsit", purpose="Fancy new purpose")
2019-05-18 19:47:47 +02:00
WhatsitService.create(yin)
results: List[Whatsit] = Whatsit.query.all()
assert len(results) == 1
for k in yin.keys():
assert getattr(results[0], k) == yin[k]