comma-fixer / tests /test_integration.py
klasocki's picture
Migrate to FastAPI from Flask, Docker works
f42ec01
raw
history blame
1.47 kB
from fastapi.testclient import TestClient
import pytest
from app import app
@pytest.fixture()
def client():
yield TestClient(app)
def test_fix_commas_fails_on_no_parameter(client):
response = client.post('/baseline/fix-commas/')
assert response.status_code == 422
def test_fix_commas_fails_on_wrong_parameters(client):
response = client.post('/baseline/fix-commas/', json={'text': "Some text."})
assert response.status_code == 400
@pytest.mark.parametrize(
"test_input",
['',
'Hello world.',
'This test string should not have any commas inside it.']
)
def test_fix_commas_correct_string_unchanged(client, test_input: str):
response = client.post('/baseline/fix-commas/', json={'s': test_input})
assert response.status_code == 200
assert response.json().get('s') == test_input
@pytest.mark.parametrize(
"test_input, expected",
[['I am, here.', 'I am here.'],
['books pens and pencils',
'books, pens and pencils']]
)
def test_fix_commas_fixes_wrong_commas(client, test_input: str, expected: str):
response = client.post('/baseline/fix-commas/', json={'s': test_input})
assert response.status_code == 200
assert response.json().get('s') == expected
def test_with_a_very_long_string(client):
s = "Just a long string. " * 1000
response = client.post('/baseline/fix-commas/', json={'s': s})
assert response.status_code == 200
assert response.json().get('s') == s