Хочу постигнуть TDD. В соответствии с подходом надо сначала написать тест, а потом код.
Функционал:
1) в определённую дату нужно списать со счёта юзера деньги в соответствии и его тарифным планом
2) записать в БД о том что деньги списались и о том, за что списались
3) обновить дату следующего списания денег: передвинуть на 30 дней вперёд
Всё это будет в одном классе, в нём будет 3 описанных метода
Мыслю так:
Для начала надо имитировать входные значения. Но их нет, самому прописать любое число и тарифный план? Как узнать что данные в БД записались?
В методе "за что списались" есть уникальная надпись, например "за обслуживание магазина Алая Роза март 2017" - непонятно как появление этой надписи в БД протестировать...
Ну на 30 дней вперёд проще всего наверное передвинуть и проверить, но тут тоже вопрос надо ли мне опуститься до конвертирования отреза в секунды и проверить что = именно 86400 х 30?