Możesz zasugerować się testami, które zostały napisane w ramach Wydatków (ExpensesServiceIntegrationTest)

 

W teście, klasie bazowej InitIntegrationTestData, dobrze będzie stworzyć dwie nowe metody:

- initDatabaseByAssets(UserEntity, String)

- initDatabaseByAssets(UserEntity)

i zmodyfikować  istniejącą (lub dodać jeśli nie istnieje) initDatabaseByAssets(UserEntity, Instant), nadając jej kwalifikator dostępu privatedwie

 

nowe metody będą wywoływały prywatną funkcję,

ale metoda z dwoma parametrami umożliwi zmianę incomeDate na wskazaną przy tworzeniu testu i doda brakujący string:

"T00:00:00.001Z"

do daty, która zostanie dostarczona w parametrze.a druga umożliwi wstawianie zawsze tej samej daty w teście np.: Instant.now()

 

HINT: Pisząc test, czy nie zwróciłeś uwagi, że nazwa FilterParametersEnum, już nie informuje o odpowiedzialności tego enuma, może warto zmienić ją na: FilterParametersCalendarEnum - nazwa jest bardziej adekwatna - w tym enumie są przechowywane tylko informacje o filtrach, które są w jakiś sposób połączone z kalendarzem, daty, miesiące, rok.

 

HINT: w testach utworzonych powinieneś wywołać kilka razy: initDatebaseByAssets(UserEntity, String), z odpowiednim Stringiem, jako datą.

 

HINT: może warto zastanowić się nad parametryzacją testów, ale zadnie nie wymaga ich wprowadzenia, w tym przypadku implementacja zależy od chęci programisty.

 

11 Testy Pobranie z Bazy danych Przefiltrowanych Przychodów

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.