View Javadoc

1   package org.cateproject.controller.name;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   import java.util.UUID;
6   
7   
8   import org.easymock.EasyMock;
9   import org.junit.Before;
10  import org.junit.Test;
11  import org.springframework.test.web.ModelAndViewAssert;
12  import org.springframework.web.servlet.ModelAndView;
13  import org.unitils.UnitilsJUnit4;
14  import org.unitils.easymock.annotation.Mock;
15  import org.unitils.inject.annotation.InjectInto;
16  import org.unitils.inject.annotation.TestedObject;
17  
18  import eu.etaxonomy.cdm.api.service.INameService;
19  import eu.etaxonomy.cdm.api.service.ITaxonService;
20  import eu.etaxonomy.cdm.api.service.pager.Pager;
21  import eu.etaxonomy.cdm.model.name.NonViralName;
22  import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
23  import eu.etaxonomy.cdm.model.name.TaxonNameBase;
24  import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
25  import eu.etaxonomy.cdm.model.name.ZoologicalName;
26  import eu.etaxonomy.cdm.model.taxon.Taxon;
27  import eu.etaxonomy.cdm.persistence.query.OrderHint;
28  import eu.etaxonomy.cdm.persistence.query.OrderHint.SortOrder;
29  
30  public class TaxonNameControllerTest extends UnitilsJUnit4 {
31  	
32  	@Mock
33  	@InjectInto(property = "service")
34  	private INameService nameService;
35  	
36  	@TestedObject
37  	private NameController nameController;
38  	
39  	private Taxon taxon;
40  	private NonViralName name;
41  	private Pager<TypeDesignationBase> typeDesignations;
42      private UUID uuid;
43  	
44  	@Before
45  	public void setUp() {
46  		uuid = UUID.randomUUID();
47  		nameController = new NameController();
48  		nameService = EasyMock.createMock(INameService.class);
49  		
50  		name = ZoologicalName.NewInstance(null);
51  		typeDesignations = (Pager<TypeDesignationBase>)EasyMock.createMock(Pager.class);
52  		taxon = new Taxon();
53  	}
54  	
55  	 @Test
56  	 public void testTypeDesignations() throws Exception	{
57  	    	
58  			EasyMock.expect(nameService.load(EasyMock.eq(uuid),EasyMock.isA(List.class))).andReturn(name);
59  			EasyMock.expect(nameService.getTypeDesignations((TaxonNameBase)EasyMock.eq(name),(SpecimenTypeDesignationStatus)EasyMock.isNull(),EasyMock.eq(30),EasyMock.eq(0),EasyMock.isA(List.class))).andReturn(typeDesignations);	
60  			
61  			EasyMock.replay(nameService);
62  			ModelAndView modelAndView = nameController.getTypeDesignations(uuid, 0,30, new ArrayList<OrderHint>(),null);
63  			
64  			EasyMock.verify(nameService);
65  			
66  			ModelAndViewAssert.assertModelAttributeValue(modelAndView, "object", name);
67  			ModelAndViewAssert.assertModelAttributeValue(modelAndView, "pager", typeDesignations);
68  	} 
69  }