package edu.ucsf.mousedatabase.admin; import org.junit.Test; import static org.junit.Assert.*; import edu.ucsf.mousedatabase.admin.EmailRecipientManager.EmailRecipient; import edu.ucsf.mousedatabase.objects.Holder; import edu.ucsf.mousedatabase.objects.IHolder; public class EmailRecipientTest{ public static IHolder holderWithoutAlternate() { IHolder holder = new Holder(); holder.setEmail("holder@university.edu"); return holder; } public static IHolder holderWithAlternate() { IHolder holder = holderWithoutAlternate(); holder.setAlternateEmail("holder-assistant@university.edu"); return holder; } @Test public void testUniqueRequestorHolderWithAlternate(){ EmailRecipient rec = EmailRecipientManager.recipientsForRequestorAndHolder("requestor@university.edu", holderWithAlternate()); assertEquals("requestor@university.edu",rec.recipients); assertTrue(rec.ccs.contains("holder@university.edu") && rec.ccs.contains("holder-assistant@university.edu")); } @Test public void testHolderRequestorAndHolderWithAlternate(){ EmailRecipient rec = EmailRecipientManager.recipientsForRequestorAndHolder("holder@university.edu", holderWithAlternate()); assertEquals("holder@university.edu",rec.recipients); assertEquals("holder-assistant@university.edu",rec.ccs); } @Test public void testHolderDifferentCaseRequestorAndHolderWithAlternate(){ EmailRecipient rec = EmailRecipientManager.recipientsForRequestorAndHolder("Holder@University.edu", holderWithAlternate()); assertEquals("holder@university.edu",rec.recipients); assertEquals("holder-assistant@university.edu",rec.ccs); } @Test public void testUniqueRequestorAndHolderWithoutAlternate(){ EmailRecipient rec = EmailRecipientManager.recipientsForRequestorAndHolder("requestor@university.edu", holderWithoutAlternate()); assertEquals("requestor@university.edu",rec.recipients); assertEquals("holder@university.edu",rec.ccs); } @Test public void testHolderRequestorAndHolderWithoutAlternate(){ EmailRecipient rec = EmailRecipientManager.recipientsForRequestorAndHolder("holder@university.edu", holderWithoutAlternate()); assertEquals("holder@university.edu",rec.recipients); assertEquals("",rec.ccs); } @Test public void testHolderWithAlternate() { EmailRecipient rec = EmailRecipientManager.recipientsForHolder(holderWithAlternate()); assertEquals("holder-assistant@university.edu",rec.recipients); assertEquals("holder@university.edu",rec.ccs); } @Test public void testHolderWithoutAlternate() { EmailRecipient rec = EmailRecipientManager.recipientsForHolder(holderWithoutAlternate()); assertEquals("holder@university.edu",rec.recipients); assertEquals("",rec.ccs); } }