package org.activityinfo.ui.client.page.entry.form;
import org.activityinfo.legacy.shared.model.ActivityFormDTO;
import org.activityinfo.legacy.shared.model.IndicatorDTO;
import org.activityinfo.legacy.shared.model.SiteDTO;
import org.activityinfo.model.type.FieldTypeClass;
import org.activityinfo.server.endpoint.kml.JreIndicatorValueFormatter;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
public class SiteRendererTest {
private SiteRenderer siteRenderer;
@Before
public void setup() {
siteRenderer = new SiteRenderer(new JreIndicatorValueFormatter());
}
@Test
public void multipleGroupsRender() {
IndicatorDTO indicator1 = new IndicatorDTO();
indicator1.setId(1);
indicator1.setAggregation(IndicatorDTO.AGGREGATE_SUM);
indicator1.setName("First indicator");
indicator1.setCategory("First group");
IndicatorDTO indicator2 = new IndicatorDTO();
indicator2.setAggregation(IndicatorDTO.AGGREGATE_SUM);
indicator2.setId(2);
indicator2.setName("Second indicator");
indicator2.setCategory("Second group");
IndicatorDTO indicator3 = new IndicatorDTO();
indicator3.setAggregation(IndicatorDTO.AGGREGATE_SUM);
indicator3.setType(FieldTypeClass.NARRATIVE);
indicator3.setId(3);
indicator3.setName("Third indicator");
indicator3.setCategory("Second group");
ActivityFormDTO activity = new ActivityFormDTO();
activity.setId(1);
activity.getIndicators().add(indicator1);
activity.getIndicators().add(indicator2);
activity.getIndicators().add(indicator3);
SiteDTO site = new SiteDTO();
site.setIndicatorValue(1, 1000d);
site.setIndicatorValue(2, 2000d);
site.setIndicatorValue(3, "Some help but not a huge amount.\nHowever there was " +
"some other information that I'd like to present in " +
"second paragraph.");
String html = siteRenderer.renderSite(site, activity, true);
System.out.println(html);
assertTrue(html.contains(indicator1.getName()));
assertTrue(html.contains(indicator2.getName()));
assertTrue(html.contains(indicator3.getName()));
}
}