Spaces:
Sleeping
Sleeping
File size: 1,738 Bytes
f42ec01 35c0239 5760b44 35c0239 5760b44 ca2592c 5760b44 ca2592c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
from fastapi.testclient import TestClient
import pytest
from app import app
@pytest.mark.parametrize(
"endpoint",
['/fix-commas/',
'/baseline/fix-commas/']
)
class TestFixCommaApi:
@pytest.fixture()
def client(self):
yield TestClient(app)
def test_fix_commas_fails_on_no_parameter(self, client, endpoint):
response = client.post(endpoint)
assert response.status_code == 422
def test_fix_commas_fails_on_wrong_parameters(self, client, endpoint):
response = client.post(endpoint, 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(self, client, endpoint, test_input: str):
response = client.post(endpoint, 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(self, client, endpoint, test_input: str, expected: str):
response = client.post(endpoint, json={'s': test_input})
assert response.status_code == 200
assert response.json().get('s') == expected
def test_with_a_very_long_string(self, endpoint, client):
s = ("Just a long string. " * 200).rstrip()
response = client.post(endpoint, json={'s': s})
assert response.status_code == 200
assert response.json().get('s') == s
|