BAEL-1772: Argument Matchers (#4323)

This commit is contained in:
Felipe Santiago Corro
2018-06-06 03:08:09 -03:00
committed by maibin
parent be608ae4fb
commit c3eaeeadde
12 changed files with 329 additions and 2 deletions
@@ -12,7 +12,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MocksApplication.class)
public class UserServiceIntegrationTest {
public class UserServiceIntegrationUnitTest {
@Autowired
private UserService userService;
@@ -0,0 +1,44 @@
package com.baeldung.app.rest;
import com.baeldung.app.api.Flower;
import com.baeldung.domain.service.FlowerService;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class FlowerControllerUnitTest {
@Mock
private FlowerService flowerService;
@InjectMocks
private FlowerController flowerController;
@Test
public void isAFlower_withMockito_OK() {
when(flowerService.analize(eq("violetta"))).thenReturn("Flower");
String response = flowerController.isAFlower("violetta");
Assert.assertEquals("Flower", response);
}
@Test
public void isABigFlower_withMockito_OK() {
when(flowerService.isABigFlower(eq("violetta"), anyInt())).thenReturn(true);
Flower flower = new Flower("violetta", 15);
Boolean response = flowerController.isABigFlower(flower);
Assert.assertTrue(response);
}
}
@@ -0,0 +1,42 @@
package com.baeldung.app.rest;
import com.baeldung.app.api.MessageApi;
import com.baeldung.domain.model.Message;
import com.baeldung.domain.service.MessageService;
import com.baeldung.domain.util.MessageMatcher;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.times;
@RunWith(MockitoJUnitRunner.class)
public class MessageControllerUnitTest {
@Mock
private MessageService messageService;
@InjectMocks
private MessageController messageController;
@Test
public void createMessage_NewMessage_OK() {
MessageApi messageApi = new MessageApi();
messageApi.setFrom("me");
messageApi.setTo("you");
messageApi.setText("Hello, you!");
messageController.createMessage(messageApi);
Message message = new Message();
message.setFrom("me");
message.setTo("you");
message.setText("Hello, you!");
Mockito.verify(messageService, times(1)).deliverMessage(Matchers.argThat(new MessageMatcher(message)));
}
}