Sprawdzenie wartości w obiektach

0

Witam
mam taką metodę w klasie:

   public void update(Home home) 
   {
        Home entity = daoHome.findById(home.getId());
        ...
        if(!home.getRoom().equals(entity.getRoom())) {
            throw new IllegalArgumentException("Nie można zmienić ilości pokoi");
        }
        ....
        daoHome.save(home);
    }

i teraz chcę ją przetestować

    @Test
    void testUpdateHasChanged()
    {
        Home home  = new Home();
        home.setId(1);
        home.setRoom(10);

        when(daoHome.findById(1)).thenReturn(new Home() {{
            setId(1);
            setRoom(11);
        }});

        assertThrows(IllegalArgumentException.class, () ->  serviceHome.update(home));
    }

problem w tym, że nie wiem jak wykryć czy zmieniła się ilość setRoom() z 10 na 11?
Odpalenie testu zwraca mi "Expected java.lang.IllegalArgumentException to be thrown, but nothing was thrown."

3
  1. Nie potrzebnie robisz save(), poczytaj jak działa JPA
  2. Zaraz dostaniesz lawinę hejtu z powodu mockowania - i słusznie :) napisz test integracyjny zamiast mockowania repozytorium - nic w ten sposób nie testujesz.
1
public void update(Home home) 
   {
        Home entity = daoHome.findById(home.getId())
              .orElseThrow(()=>new IllegalArgumentException("Nie można zmienić ilości pokoi"));
        daoHome.save(home);
    }

Co do testu to walisz integracyjny w tym przepadku

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