Jak przetestować serwis?

0

Cześć mam problem z przetestowaniem i zmockowaniem tego serwisu :/ Moglibyście mi troszkę pomóc? Bo ja co próbuje to mi kompletnie nie wychodzi

@Service
public class AddressService {
    private final AddressRepository addressRepository;
    private final UserRepository userRepository;
    private final SecurityContextService securityContextService;

    public AddressService(AddressRepository addressRepository, UserRepository userRepository, SecurityContextService securityContextService) {
        this.addressRepository = addressRepository;
        this.userRepository = userRepository;
        this.securityContextService = securityContextService;
    }

    public void addAddress(AddressUser addAddress) {
        addressRepository.save(addAddress);
        String username = securityContextService.getUsername();
        User user = getUser(username);
        user.setAddressUser(addAddress);
        userRepository.save(user);
    }

    private User getUser(String username) {
        return userRepository.findByUserName(username);
    }
}

```
0
  1. Te dwa save w ogóle nie powinny być konieczne. W szczególności ten pierwszy powinien zniknąć bo ten drugi powinien sie propagować odpowiednio.
  2. Co konkretnie chcesz przetestować? Bo logiki tu za wiele nie ma, ale jeśli chcesz tu unit test to mockuj te swoje zależonści a potem ustaw odpowiednie oczekiwania ->
  • niech getUsername() zwraca jakiś wybrany przez ciebie string
  • zweryfikuj czy findByUserName() faktycznie szuka dobrego usera
  • zweryfikuj czy ustawiony zostaje setAddressUser()
  • zweryfikuj czy wykonano save() na odpowiednim obiekcie

1 użytkowników online, w tym zalogowanych: 0, gości: 1