package org.transgalactica.fwk.web.message;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.List;
import org.junit.Test;
import org.springframework.context.MessageSourceResolvable;
import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.ui.ExtendedModelMap;
import org.springframework.ui.Model;
import org.transgalactica.fwk.validation.MultipleErrors;
import org.transgalactica.fwk.validation.exception.BusinessException;
import org.transgalactica.fwk.validation.exception.MultipleErrorsException;
import org.transgalactica.fwk.web.message.BusinessMessageUtils;
public class BusinessMessageUtilsTest {
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessMessageCode() {
Model model = BusinessMessageUtils.addBusinessMessage("code");
assertNotNull(model);
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessMessageModelMapCode() {
Model model = new ExtendedModelMap();
BusinessMessageUtils.addBusinessMessage(model, "code");
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessMessageMessageSourceResolvable() {
Model model = BusinessMessageUtils.addBusinessMessage(new DefaultMessageSourceResolvable("code"));
assertNotNull(model);
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessMessageModelMapMessageSourceResolvable() {
Model model = new ExtendedModelMap();
BusinessMessageUtils.addBusinessMessage(model, new DefaultMessageSourceResolvable("code"));
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessErrorMessageCode() {
Model model = BusinessMessageUtils.addBusinessErrorMessage("code");
assertNotNull(model);
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessErrorMessageModelMapCode() {
Model model = new ExtendedModelMap();
BusinessMessageUtils.addBusinessErrorMessage(model, "code");
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessErrorMessageMessageSourceResolvable() {
Model model = BusinessMessageUtils.addBusinessErrorMessage(new DefaultMessageSourceResolvable("code"));
assertNotNull(model);
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessErrorMessageModelMapMessageSourceResolvable() {
Model model = new ExtendedModelMap();
BusinessMessageUtils.addBusinessErrorMessage(model, new DefaultMessageSourceResolvable("code"));
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", messages.get(0).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessExceptionBusinessException() {
Model model = BusinessMessageUtils.addBusinessException(new BusinessException("code"));
assertNotNull(model);
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", ((MessageSourceResolvable) messages.get(0).getArguments()[0]).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessExceptionModelMapBusinessException() {
Model model = new ExtendedModelMap();
BusinessMessageUtils.addBusinessException(model, new BusinessException("code"));
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(1, messages.size());
assertEquals("code", ((MessageSourceResolvable) messages.get(0).getArguments()[0]).getCodes()[0]);
}
@SuppressWarnings("unchecked")
@Test
public void testAddBusinessExceptionModelMapMultipleErrorsException() {
Model model = new ExtendedModelMap();
MultipleErrors errors = new MultipleErrors();
errors.add("message1");
errors.add("message2");
BusinessMessageUtils.addBusinessException(model, new MultipleErrorsException(errors.getAllErrorMessages()));
assertNotNull(model.asMap().get(BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE));
List<MessageSourceResolvable> messages = (List<MessageSourceResolvable>) model.asMap().get(
BusinessMessageUtils.BUSINESS_ERRORS_MESSAGES_ATTRIBUTE);
assertEquals(2, messages.size());
assertEquals("message1", messages.get(0).getCodes()[0]);
assertEquals("message2", messages.get(1).getCodes()[0]);
}
}