package crmdna.programtype; import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig; import com.google.appengine.tools.development.testing.LocalServiceTestHelper; import com.googlecode.objectify.ObjectifyFilter; import crmdna.client.Client; import crmdna.common.ICode; import crmdna.member.MemberProgramProp; import crmdna.user.User; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import static crmdna.common.TestUtil.ensureResourceNotFoundException; import static org.junit.Assert.assertEquals; public class ProgramTypeHelperTest { private final LocalServiceTestHelper datastoreHelper = new LocalServiceTestHelper( new LocalDatastoreServiceTestConfig().setApplyAllHighRepJobPolicy()); private final String client = "isha"; private final String invalidClient = "invalid"; ProgramTypeProp ishaKriya1hour; ProgramTypeProp shambhavi2day; ProgramTypeProp shoonya4day; @Before public void setUp() { datastoreHelper.setUp(); ObjectifyFilter.complete(); Client.create(client); ishaKriya1hour = ProgramType.create(client, "Isha Kriya (1 hour)", new HashSet<Long>(), User.SUPER_USER); assertEquals(1, ishaKriya1hour.programTypeId); shambhavi2day = ProgramType.create(client, "Shambhavi (2 day)", new HashSet<Long>(), User.SUPER_USER); assertEquals(2, shambhavi2day.programTypeId); shoonya4day = ProgramType.create(client, "Shoonya (4 day)", new HashSet<Long>(), User.SUPER_USER); assertEquals(3, shoonya4day.programTypeId); } @Test public void populateTest() { MemberProgramProp memberProgramProp1 = new MemberProgramProp(); memberProgramProp1.programTypeId = ishaKriya1hour.programTypeId; MemberProgramProp memberProgramProp2 = new MemberProgramProp(); memberProgramProp2.programTypeId = shambhavi2day.programTypeId; MemberProgramProp memberProgramProp3 = new MemberProgramProp(); memberProgramProp3.programTypeId = 100; // non existent final List<MemberProgramProp> memberProgramProps = new ArrayList<>(); memberProgramProps.add(memberProgramProp1); memberProgramProps.add(memberProgramProp2); memberProgramProps.add(memberProgramProp3); ProgramTypeHelper.populateName(client, memberProgramProps); assertEquals("program type populated", "Isha Kriya (1 hour)", memberProgramProp1.programType); assertEquals("program type populated", "Shambhavi (2 day)", memberProgramProp2.programType); assertEquals("works if programTypeId is invalid", null, memberProgramProp3.programType); // client should be valid ensureResourceNotFoundException(new ICode() { @Override public void run() { ProgramTypeHelper.populateName(invalidClient, memberProgramProps); } }); } }