Skip to content
Snippets Groups Projects
Verified Commit 32ca853a authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

BookEventServiceTest

parent 28ad3446
No related merge requests found
package com.example.library;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.verify;
@ExtendWith(MockitoExtension.class)
public class BookEventServiceTest {
@Mock
private BookEventRegistry registry;
@Captor
private ArgumentCaptor<BookEventListener> listenerCaptor;
@InjectMocks
private BookEventService service;
@Test
void shouldRegisterListenerAndReactToEvent() {
// Arrange
// vyvoláme ručně @PostConstruct (mimo Spring)
service.register();
// Verify registrace listeneru
verify(registry).registerListener(listenerCaptor.capture());
// Simulujeme událost
Book testBook = new Book("Testovací kniha", "Testovací autor", true);
BookEventListener capturedListener = listenerCaptor.getValue();
// Act
capturedListener.onBookCreated(testBook);
// Assert – zde místo `System.out` bys typicky měl mock služby, která na to reaguje
// nebo jinou verifikaci, např. kontrolu DB volání nebo logiky
assertNotNull(capturedListener);
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment