Skip to content
Merged
Prev Previous commit
Next Next commit
fix: TT-403 comments solved
  • Loading branch information
mandres2015 committed Nov 19, 2021
commit 0e1413c429be10e0b8b80551876926a07db0b6f8
13 changes: 4 additions & 9 deletions V2/tests/api/azure/time_entry_azure_endpoints_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,11 @@ def test__time_entry_azure_endpoint__creates_an_time_entry__when_time_entry_has_


def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_deleted__when_its_id_is_found(
create_fake_database, time_entry_factory, insert_time_entry, insert_activity, activity_factory,
test_db, time_entry_factory, insert_time_entry, insert_activity, activity_factory,
):
db = create_fake_database
azure_time_entries._delete_time_entry.DATABASE = db
inserted_activity = insert_activity(activity_factory(), db).__dict__
inserted_activity = insert_activity(activity_factory(), test_db).__dict__
time_entry_body = time_entry_factory(activity_id=inserted_activity["id"], technologies="[jira,sql]")
inserted_time_entry = insert_time_entry(time_entry_body, db)
inserted_time_entry = insert_time_entry(time_entry_body, test_db)

req = func.HttpRequest(
method='DELETE',
Expand All @@ -66,11 +64,8 @@ def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_de


def test__delete_time_entries_azure_endpoint__returns_a_status_code_400__when_time_entry_recive_invalid_id(
create_fake_database,
test_db,
):
db = create_fake_database
azure_time_entries._delete_time_entry.DATABASE = db

req = func.HttpRequest(
method="DELETE",
body=None,
Expand Down
11 changes: 5 additions & 6 deletions V2/tests/integration/daos/time_entries_dao_test.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pytest

from faker import Faker

import time_tracker.time_entries._domain as domain
import time_tracker.time_entries._infrastructure as infrastructure
Expand Down Expand Up @@ -48,11 +48,10 @@ def test__time_entry__returns_None__when_not_saves_correctly(
assert inserted_time_entry is None



def test_delete__returns_an_time_entry_with_true_deleted__when_an_time_entry_matching_its_id_is_found(
create_fake_dao, time_entry_factory, insert_activity, activity_factory
create_fake_dao, test_db, time_entry_factory, insert_activity, activity_factory
):
dao = create_fake_dao
dao = create_fake_dao(test_db)
inserted_activity = insert_activity(activity_factory(), dao.db)
existent_time_entry = time_entry_factory(activity_id=inserted_activity.id, technologies="[jira,sql]")
inserted_time_entry = dao.create(existent_time_entry)
Expand All @@ -63,9 +62,9 @@ def test_delete__returns_an_time_entry_with_true_deleted__when_an_time_entry_mat


def test_delete__returns_none__when_no_time_entry_matching_its_id_is_found(
create_fake_dao,
create_fake_dao, test_db
):
dao = create_fake_dao
dao = create_fake_dao(test_db)

result = dao.delete(Faker().pyint())

Expand Down
2 changes: 2 additions & 0 deletions V2/tests/unit/services/time_entry_service_test.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from faker import Faker

from time_tracker.time_entries._domain import TimeEntryService


Expand Down
2 changes: 1 addition & 1 deletion V2/time_tracker/time_entries/_application/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# flake8: noqa
from ._time_entries import delete_time_entry
from ._time_entries import create_time_entry, delete_time_entry
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# flake8: noqa
from ._create_time_entry import create_time_entry
from ._delete_time_entry import delete_time_entry
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@

from ... import _domain
from ... import _infrastructure

_JSON_PATH = (
'time_tracker/time_entries/_infrastructure/_data_persistence/time_entries_data.json'
)
from time_tracker._infrastructure import DB


def create_time_entry(req: func.HttpRequest) -> func.HttpResponse:

time_entry_dao = _infrastructure.TimeEntriesJsonDao(_JSON_PATH)
database = DB()
time_entry_dao = _infrastructure.TimeEntriesSQLDao(database)
time_entry_service = _domain.TimeEntryService(time_entry_dao)
use_case = _domain._use_cases.CreateTimeEntryUseCase(time_entry_service)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@
from ... import _infrastructure
from time_tracker._infrastructure import DB

DATABASE = DB()


def delete_time_entry(req: func.HttpRequest) -> func.HttpResponse:
time_entry_dao = _infrastructure.TimeEntriesSQLDao(DATABASE)
time_entry_dao = _infrastructure.TimeEntriesSQLDao(DB())
time_entry_service = _domain.TimeEntryService(time_entry_dao)
use_case = _domain._use_cases.DeleteTimeEntryUseCase(time_entry_service)

Expand Down
1 change: 1 addition & 0 deletions V2/time_tracker/time_entries/_domain/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
from ._persistence_contracts import TimeEntriesDao
from ._services import TimeEntryService
from ._use_cases import (
CreateTimeEntryUseCase,
DeleteTimeEntryUseCase
)
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# flake8: noqa
from ._create_time_entry_use_case import CreateTimeEntryUseCase
from ._delete_time_entry_use_case import DeleteTimeEntryUseCase
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ def __init__(self, time_entry_service: TimeEntryService):
self.time_entry_service = time_entry_service

def create_time_entry(self, time_entry_data: TimeEntry) -> TimeEntry:
return self.time_entry_service.create(time_entry_data.__dict__)
return self.time_entry_service.create(time_entry_data)
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ def __create_time_entry_dto(self, time_entry: dict) -> domain.TimeEntry:
time_entry = {key: time_entry.get(key) for key in self.time_entry_key}
return domain.TimeEntry(**time_entry)

def delete(self, time_entry_id: int) -> TimeEntry:
def delete(self, time_entry_id: int) -> domain.TimeEntry:
query = (
self.time_entry.update()
.where(self.time_entry.c.id == time_entry_id)
.values({"deleted": True})
)
self.db.get_session().execute(query)
query_deleted_time_entry = sql.select(self.time_entry).where(self.time_entry.c.id == time_entry_id)
query_deleted_time_entry = sqlalchemy.sql.select(self.time_entry).where(self.time_entry.c.id == time_entry_id)
time_entry = self.db.get_session().execute(query_deleted_time_entry).one_or_none()
return self.__create_time_entry_dto(dict(time_entry)) if time_entry else None