package crmdna.practice; 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.MemberProp; import crmdna.practice.Practice.PracticeProp; import crmdna.user.User; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.List; import static crmdna.common.TestUtil.ensureResourceNotFoundException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class PracticeHelperTest { private final LocalServiceTestHelper datastoreHelper = new LocalServiceTestHelper( new LocalDatastoreServiceTestConfig().setApplyAllHighRepJobPolicy()); private final String client = "isha"; private final String invalidClient = "invalid"; PracticeProp ishaKriya; PracticeProp shambhavi; PracticeProp shoonya; @Before public void setUp() { datastoreHelper.setUp(); ObjectifyFilter.complete(); Client.create(client); ishaKriya = Practice.create(client, "Isha Kriya", User.SUPER_USER); assertEquals(1, ishaKriya.practiceId); shambhavi = Practice.create(client, "Shambhavi", User.SUPER_USER); assertEquals(2, shambhavi.practiceId); shoonya = Practice.create(client, "Shoonya", User.SUPER_USER); assertEquals(3, shoonya.practiceId); } @Test public void populateTest() { MemberProp memberProp1 = new MemberProp(); memberProp1.practiceIds.add(ishaKriya.practiceId); memberProp1.practiceIds.add(shambhavi.practiceId); MemberProp memberProp2 = new MemberProp(); memberProp2.practiceIds.add(ishaKriya.practiceId); memberProp2.practiceIds.add(shambhavi.practiceId); memberProp2.practiceIds.add(shoonya.practiceId); memberProp2.practiceIds.add((long) 100); // non existent practice final List<MemberProp> memberProps = new ArrayList<>(); memberProps.add(memberProp1); memberProps.add(memberProp2); PracticeHelper.populateName(client, memberProps); assertEquals(2, memberProp1.practices.size()); assertTrue(memberProp1.practices.contains("Isha Kriya")); assertTrue(memberProp1.practices.contains("Shambhavi")); assertEquals(3, memberProp2.practices.size()); assertTrue(memberProp2.practices.contains("Isha Kriya")); assertTrue(memberProp2.practices.contains("Shambhavi")); assertTrue(memberProp2.practices.contains("Shoonya")); // client should be valid ensureResourceNotFoundException(new ICode() { @Override public void run() { PracticeHelper.populateName(invalidClient, memberProps); } }); } }