Skip to content

UsersActivationService.findOlderThan(): add unit tests #337

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
php-coder opened this issue Jan 31, 2016 · 3 comments
Closed

UsersActivationService.findOlderThan(): add unit tests #337

php-coder opened this issue Jan 31, 2016 · 3 comments
Assignees
Milestone

Comments

@php-coder
Copy link
Owner

Tech debt for: 0fe253d (#120)

@php-coder
Copy link
Owner Author

php-coder commented Mar 28, 2017

@Shagbark Here should be 2 simple unit tests. I'm suggesting you to read a bit about Spock framework to understand what's going on and how it works (maybe this one: http://www.baeldung.com/groovy-spock).

Also you can use the following instruction as an example of work flow: https://github.com/php-coder/mystamps/wiki/dev_quick_start_continue

@Shagbark
Copy link
Contributor

@php-coder, доброй ночи!
Вячеслав, у меня появился небольшой вопрос.
Когда добавляем RegisterAcountDto, используя метод add класса UserActivationService, то значение поля createdAt устанавливается как текущая дата.
Как можно добавить пользователя так, что значение поля createdAt установилось иначе (допустим день назад)?

@php-coder
Copy link
Owner Author

Когда добавляем RegisterAcountDto, используя метод add класса UserActivationService, то значение поля createdAt устанавливается как текущая дата.
Как можно добавить пользователя так, что значение поля createdAt установилось иначе (допустим день назад)?

С текущим кодом и в рамках юнит тестов -- никак.

Если в целом смотреть, системно, то это возможно -- есть, например, faketime которая позволяет обмануть программу и подменить текущую дату и время.

Если рассуждать в рамках юнит-тестов, то нужно править код -- вынести new Date() в новый метод и затем подменять этот метод своим кодом, который бы возвращал любую другую дату (в Spock-е для этого есть Spy-объекты, если тебе интересно).

Но, это все не должно относиться к текущей задаче, так как здесь мы тестируем совсем другой метод и ничего такого сложного нам не понадобится. Просто перехвати дату, которая передается в usersActivationDao.findOlderThan() и проверь ее.

Shagbark added a commit to Shagbark/mystamps that referenced this issue Apr 6, 2017
Shagbark added a commit to Shagbark/mystamps that referenced this issue Apr 16, 2017
Shagbark added a commit to Shagbark/mystamps that referenced this issue Apr 16, 2017
@php-coder php-coder modified the milestones: 0.4, next Apr 16, 2017
bodom91 pushed a commit to bodom91/mystamps that referenced this issue Aug 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants