|
4 | 4 |
|
5 | 5 | from pydantic_csv import BasemodelCSVWriter
|
6 | 6 |
|
7 |
| -from .models import ExcludedPassword, NonBaseModelUser, SimpleUser, User |
| 7 | +from .models import ( |
| 8 | + ComputedPropertyField, |
| 9 | + ComputedPropertyWithAlias, |
| 10 | + ExcludedPassword, |
| 11 | + NonBaseModelUser, |
| 12 | + SimpleUser, |
| 13 | + User, |
| 14 | +) |
8 | 15 |
|
9 | 16 |
|
10 | 17 | def test_create_csv_file(users_as_csv_buffer, users_from_csv):
|
@@ -60,3 +67,22 @@ def test_excluded_field():
|
60 | 67 | w.write()
|
61 | 68 |
|
62 | 69 | assert output.getvalue() == "username\r\nWagstaff\r\n"
|
| 70 | + |
| 71 | + |
| 72 | +@pytest.mark.parametrize( |
| 73 | + ("model", "use_alias", "expected_output"), |
| 74 | + [ |
| 75 | + (ComputedPropertyField, True, "username,email\r\nGroucho,[email protected]\r\n"), |
| 76 | + (ComputedPropertyWithAlias, True, "username,e\r\nHarpo,[email protected]\r\n"), |
| 77 | + (ComputedPropertyField, False, "username,email\r\nGroucho,[email protected]\r\n"), |
| 78 | + (ComputedPropertyWithAlias, False, "username,email\r\nHarpo,[email protected]\r\n"), |
| 79 | + ], |
| 80 | +) |
| 81 | +def test_computed_property_included(model, use_alias, expected_output): |
| 82 | + output = io.StringIO() |
| 83 | + user = model() |
| 84 | + |
| 85 | + w = BasemodelCSVWriter(output, [user], model, use_alias=use_alias) |
| 86 | + w.write() |
| 87 | + |
| 88 | + assert output.getvalue() == expected_output |
0 commit comments