luchob/softuni-feb2023

Проблем с bad_credentials и тест:)

Closed this issue · 2 comments

Здравей, проблемът е следния при логване с несъществуващ юзър не излизат bad_credentials и не съм сигурен как точно да го оправя:)
2-рия проблем е при тестването когато пусна всички тестове получавам при теста с регистрацията следното:query did not return a unique result: 2

https://github.com/KristiyanVasilev96/LaptopFinder

luchob commented

Привет!

Относно проблем 1. В секюрити конфигурацията позволи /users/login-error и после мапинга в контролера ти е грешен.

@Controller
@RequestMapping("/users")
public class UserController {
     ....
    @PostMapping("/users/login-error")
    ...
`
Което прави `/users/users/login-error` :-)

luchob commented

Относно проблем номер 2, допускам че това е причината:

        return userRepository.
                findByEmail(username).

Когато пускаш тестовете, те може да споделят 1 котекст и 1 база. Т.е. един тест може да е създал user с имейл user@example.com, после тест 2 също. Разбира се, в този случай:

Optional<UserEntity> findByEmail(String email);

не знае какво да прави и... гърми.

Няколко препоръки:

  1. Конфигурирай in memory база в тестовото application.yaml, както е в mobilele.
  2. Ако пускаш тест може да е добра практика в @AfterEach да изтриеш създадените юзъри. Така нестовете няма да си пречат един на друг.
  3. По време на тестовете също (може да) се изпълнява data.sql

Поздрави,
Л.