Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.service;import com.spice.profitmandi.dao.entity.user.AgendaInstance;import com.spice.profitmandi.dao.enumuration.dtr.AgendaSource;import com.spice.profitmandi.dao.enumuration.dtr.AgendaType;import org.junit.Test;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;import static org.junit.Assert.assertEquals;public class AgendaVisibilityFilterTest {private static AgendaInstance inst(AgendaType type, AgendaSource source) {AgendaInstance ai = new AgendaInstance();ai.setAgendaType(type.name());ai.setSource(source.name());ai.setStatus("OPEN");return ai;}private static List<String> types(List<AgendaInstance> list) {return list.stream().map(AgendaInstance::getAgendaType).collect(Collectors.toList());}@Testpublic void revivalHidesDataDrivenAgendasExceptCreditDues() {List<AgendaInstance> open = new ArrayList<>();open.add(inst(AgendaType.REVIVAL, AgendaSource.AUTO));open.add(inst(AgendaType.LOW_SALES, AgendaSource.AUTO));open.add(inst(AgendaType.LOW_PURCHASE, AgendaSource.AUTO));open.add(inst(AgendaType.LOW_INVESTMENT, AgendaSource.AUTO));open.add(inst(AgendaType.CREDIT_DUES, AgendaSource.AUTO));open.add(inst(AgendaType.BRAND_ADDITION, AgendaSource.MANUAL));List<AgendaInstance> visible = AgendaInstanceServiceImpl.filterVisibleForVisitStatic(open);List<String> t = types(visible);assertEquals(3, visible.size());assertEquals(true, t.contains(AgendaType.REVIVAL.name()));assertEquals(true, t.contains(AgendaType.CREDIT_DUES.name()));assertEquals(true, t.contains(AgendaType.BRAND_ADDITION.name())); // MANUAL always shows}@Testpublic void noRevivalShowsEverything() {List<AgendaInstance> open = new ArrayList<>();open.add(inst(AgendaType.LOW_SALES, AgendaSource.AUTO));open.add(inst(AgendaType.LOW_INVESTMENT, AgendaSource.AUTO));assertEquals(2, AgendaInstanceServiceImpl.filterVisibleForVisitStatic(open).size());}}