в идеале каждый тест должен проверять только одну функцию.таким образом:
- при изменении требований вам придется изменить только один тест
- ваша оперативная документация (тесты) будет более конкретной и понятной
Если я проверю случай 3, случай 1 и случай 2 также будут включены в логику
на самом деле.если вы проверите, может ли пользователь загружать только jpg, вам все равно, где будут сохраняться файлы.вам просто нужно проверить, что пользователь может выбирать только определенные расширения, и этот сервер будет отклонять другие.вам даже не нужно включать компонент сохранения файла в тест.
другая вещь - наличие некоторой вспомогательной функции, которая подготовит данные для загрузки и будет использоваться большинством тестов