package org.esmerilprogramming.overtown.http.converter;
import org.esmerilprogramming.overtown.http.OvertownRequest;
import org.junit.Before;
import org.junit.Test;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
public class ModelConverterTest {
private ModelConverter translator;
private OvertownRequest request;
@Before
public void setUp() {
translator = new ModelConverter();
request = mock(OvertownRequest.class);
}
@Test
public void doesTranslateTheModelWithTheRequestAttributes() {
String parameterName = "testModel";
when(request.containsAttributeStartingWith(parameterName)).thenReturn(true);
when(request.getParameter( parameterName + ".name") ).thenReturn("TESTE NAME");
TestModel testModel = translator.translate(TestModel.class, parameterName, request);
assertNotNull(testModel);
}
@Test
public void doesNotTranslateTheAttributeIfThereIsNoParameterStartingWithTheAttributeName(){
String parameterName = "testModel";
when(request.containsAttributeStartingWith(parameterName)).thenReturn(false);
TestModel testModel = translator.translate(TestModel.class, parameterName, request);
assertNull(testModel);
}
}