|
7 | 7 |
|
8 | 8 |
|
9 | 9 | @pytest.fixture(name='create_fake_dao') |
10 | | -def _create_fake_dao() -> domain.TimeEntriesDao: |
11 | | - db_fake = DB('sqlite:///:memory:') |
12 | | - dao = infrastructure.TimeEntriesSQLDao(db_fake) |
13 | | - return dao |
| 10 | +def _fake_dao() -> domain.TimeEntriesDao: |
| 11 | + def _create_fake_dao(db_fake: DB) -> domain.TimeEntriesDao: |
| 12 | + dao = infrastructure.TimeEntriesSQLDao(db_fake) |
| 13 | + return dao |
| 14 | + return _create_fake_dao |
14 | 15 |
|
15 | 16 |
|
16 | 17 | @pytest.fixture(name='clean_database', autouse=True) |
17 | 18 | def _clean_database(): |
18 | 19 | yield |
19 | | - db_fake = DB('sqlite:///:memory:') |
| 20 | + db_fake = DB() |
20 | 21 | dao = infrastructure.TimeEntriesSQLDao(db_fake) |
21 | 22 | query = dao.time_entry.delete() |
22 | 23 | dao.db.get_session().execute(query) |
23 | 24 |
|
24 | 25 |
|
25 | 26 | def test__time_entry__returns_a_time_entry_dto__when_saves_correctly_with_sql_database( |
26 | | - time_entry_factory, create_fake_dao, insert_activity, activity_factory |
| 27 | + create_fake_database, time_entry_factory, create_fake_dao, insert_activity, activity_factory |
27 | 28 | ): |
28 | | - dao = create_fake_dao |
| 29 | + dao = create_fake_dao(create_fake_database) |
29 | 30 | inserted_activity = insert_activity(activity_factory(), dao.db) |
30 | 31 |
|
31 | | - existent_time_entry = time_entry_factory(activity_id=inserted_activity.id, technologies="[jira,sql]") |
| 32 | + time_entry_to_insert = time_entry_factory(activity_id=inserted_activity.id, technologies="[jira,sql]") |
32 | 33 |
|
33 | | - inserted_time_entry = dao.create(existent_time_entry) |
| 34 | + inserted_time_entry = dao.create(time_entry_to_insert) |
34 | 35 |
|
35 | 36 | assert isinstance(inserted_time_entry, domain.TimeEntry) |
36 | | - assert inserted_time_entry == existent_time_entry |
| 37 | + assert inserted_time_entry == time_entry_to_insert |
37 | 38 |
|
38 | 39 |
|
39 | 40 | def test__time_entry__returns_None__when_not_saves_correctly( |
40 | | - time_entry_factory, create_fake_dao, |
| 41 | + time_entry_factory, create_fake_dao, create_fake_database |
41 | 42 | ): |
42 | | - dao = create_fake_dao |
43 | | - existent_time_entry = time_entry_factory(activity_id=1203, technologies="[jira,sql]") |
| 43 | + dao = create_fake_dao(create_fake_database) |
| 44 | + time_entry_to_insert = time_entry_factory(activity_id=1203, technologies="[jira,sql]") |
44 | 45 |
|
45 | | - inserted_time_entry = dao.create(existent_time_entry) |
| 46 | + inserted_time_entry = dao.create(time_entry_to_insert) |
46 | 47 |
|
47 | 48 | assert inserted_time_entry is None |
0 commit comments