Package br.com.caelum.vraptor.util.extjs

Source Code of br.com.caelum.vraptor.util.extjs.DefaultExtJsonTest

package br.com.caelum.vraptor.util.extjs;

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.when;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;

import javax.servlet.http.HttpServletResponse;

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import br.com.caelum.vraptor.interceptor.TypeNameExtractor;
import br.com.caelum.vraptor.serialization.NullProxyInitializer;

public class DefaultExtJsonTest {


  private DefaultExtJson fixedExtJson;
  private @Mock HttpServletResponse response;
  private @Mock TypeNameExtractor extractor;
  private StringWriter writer;

  @Before
  public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);
    writer = new StringWriter();
    when(response.getWriter()).thenReturn(new PrintWriter(writer));
    when(extractor.nameFor(Data.class)).thenReturn("data");
    fixedExtJson = new DefaultExtJson(response, extractor, new NullProxyInitializer());
  }

  @Test
  public void shouldSerializeWithData() throws Exception {
    Data data = new Data();
    data.test = "testing";
    fixedExtJson.from(data).serialize();

    assertThat(writer.toString(), is("{\"data\": {\"test\": \"testing\"}}"));
  }
  @Test
  public void shouldSerializeWithListsOfData() throws Exception {
    Data data1 = new Data();
    data1.test = "testing";
    Data data2 = new Data();
    data2.test = "testing2";
    fixedExtJson.from(Arrays.asList(data1, data2)).serialize();

    assertThat(writer.toString(), is("{\"data\": [{\"test\": \"testing\"},{\"test\": \"testing2\"}]}"));
  }
  @Test
  public void shouldExcludeFieldsOnData() throws Exception {
    Data data1 = new Data();
    data1.test = "testing";
    fixedExtJson.from(data1).exclude("test").serialize();

    assertThat(writer.toString(), is("{\"data\": {}}"));
  }
  @Test
  public void shouldExcludeWithListsOfData() throws Exception {
    Data data1 = new Data();
    data1.test = "testing";
    Data data2 = new Data();
    data2.test = "testing2";
    fixedExtJson.from(Arrays.asList(data1, data2)).exclude("test").serialize();

    assertThat(writer.toString(), is("{\"data\": [{},{}]}"));
  }
}
TOP

Related Classes of br.com.caelum.vraptor.util.extjs.DefaultExtJsonTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.