View Javadoc

1   package org.cateproject.view.media;
2   
3   import java.util.ArrayList;
4   import java.util.HashSet;
5   import java.util.List;
6   import java.util.Set;
7   
8   
9   import org.apache.commons.fileupload.FileUploadBase;
10  import org.cateproject.controller.flow.action.media.MediaUpload;
11  import org.cateproject.view.CATEViewTest;
12  import org.junit.Test;
13  import org.springframework.web.multipart.MaxUploadSizeExceededException;
14  import org.springframework.web.servlet.ModelAndView;
15  
16  import eu.etaxonomy.cdm.api.service.pager.Pager;
17  import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
18  import eu.etaxonomy.cdm.model.description.MediaKey;
19  import eu.etaxonomy.cdm.model.location.NamedArea;
20  import eu.etaxonomy.cdm.model.media.Media;
21  import eu.etaxonomy.cdm.model.media.Rights;
22  import eu.etaxonomy.cdm.model.taxon.Taxon;
23  
24  
25  
26  public class MediaPageTest extends CATEViewTest {
27  
28  	@Test
29  	public void testIndexPage() {
30  		ModelAndView modelAndView = new ModelAndView("media/index");
31  		Media media = dataSet.getMedia().get(0);
32  		modelAndView.addObject("object", media );
33  		
34  		outputMock(modelAndView,"target/generated-sources/mock/media/index.html");
35  	}
36  	
37  	@Test
38  	public void testMaxUploadSizeExceededErrorPage() {
39  		ModelAndView modelAndView = new ModelAndView("exception/maxUploadSizeExceeded");
40  		FileUploadBase.SizeLimitExceededException sizeLimitExceededException = new FileUploadBase.SizeLimitExceededException("the request was rejected because its size (10262399) exceeds the configured maximum (1000000)",10262399,1000000);
41  		MaxUploadSizeExceededException exception = new MaxUploadSizeExceededException(1000000,sizeLimitExceededException);
42  		modelAndView.addObject("exception",exception);
43  		
44  		outputMock(modelAndView,"target/generated-sources/mock/media/Edit/upload_errors.html");
45  	}
46  	
47  	@Test
48      public void testEditMedia() {
49  		ModelAndView modelAndView = new ModelAndView("media/edit/edit");
50  		Media media = dataSet.getMedia().get(0);
51  		modelAndView.addObject("object", media );
52  		
53  		outputMock(modelAndView,"target/generated-sources/mock/media/Edit/edit.html");
54  	}
55  	
56  	@Test
57      public void testReviewMedia() {
58  		ModelAndView modelAndView = new ModelAndView("media/edit/review");
59  		Media media = dataSet.getMedia().get(0);
60  		modelAndView.addObject("object", media );
61  		
62  		outputMock(modelAndView,"target/generated-sources/mock/media/Edit/review.html");
63  	}
64  	
65  	@Test
66      public void testUploadMedia() {
67  		ModelAndView modelAndView = new ModelAndView("media/edit/upload");
68  		Media media = dataSet.getMedia().get(0);
69  		modelAndView.addObject("object", media );
70  		modelAndView.addObject("mediaUpload",new MediaUpload());
71  		outputMock(modelAndView,"target/generated-sources/mock/media/Edit/upload.html");
72  	}
73  	
74  	@Test
75  	public void testRightsPage() {
76  		ModelAndView modelAndView = new ModelAndView("common/rights");
77  		Media media = dataSet.getMedia().get(0);
78  		modelAndView.addObject("object", media );
79  		final List<Rights> results = new ArrayList<Rights>();
80  		results.addAll(dataSet.getMedia().get(0).getRights());
81          Pager<Rights> rights = new DefaultPagerImpl<Rights>(0, 2, 30, results);
82  		modelAndView.addObject("pager", rights );
83  		
84  		outputMock(modelAndView,"target/generated-sources/mock/media/rights.html");
85  	}
86  	
87  	@Test
88  	public void testKeyIntroPage() {
89  		ModelAndView modelAndView = new ModelAndView("media/index");
90  		Media media = dataSet.getMedia().get(1);
91  		modelAndView.addObject("object",media );
92  		
93  		outputMock(modelAndView,"target/generated-sources/mock/media/Index_MediaKey.html");
94  	}
95  	
96  	@Test
97  	public void testKeyPage() {
98  		ModelAndView modelAndView = new ModelAndView("media/key");
99  		Media media = dataSet.getMedia().get(1);
100 		modelAndView.addObject("object",media );
101 		
102 		outputMock(modelAndView,"target/generated-sources/mock/media/key.html");
103 	}
104 	
105     @Test
106     public void testKeysByTaxaPage() {
107             ModelAndView modelAndView = new ModelAndView("media/list");
108             Set<Taxon> coveredTaxa = new HashSet<Taxon>();
109             coveredTaxa.add((Taxon)dataSet.getTaxonBases().get(0));
110             modelAndView.addObject("filter", "MediaKey");
111             modelAndView.addObject("coveredTaxa",coveredTaxa);
112             
113             Set<NamedArea> coveredAreas = new HashSet<NamedArea>();
114             coveredAreas.add((NamedArea)dataSet.getTerms().get(15));
115             modelAndView.addObject("coveredAreas", coveredAreas);
116             final List<MediaKey> results = new ArrayList<MediaKey>();
117             results.add((MediaKey)dataSet.getMedia().get(1));
118             Pager<MediaKey> keys = new DefaultPagerImpl<MediaKey>(0, 1, 30, results) {
119                     protected String getLabel(Integer i) {
120                             MediaKey k = results.get(i);
121                             return k.getTitle().values().iterator().next().getText();
122                     }
123             };
124             
125             modelAndView.addObject("pager",keys);
126             
127             outputMock(modelAndView,"target/generated-sources/mock/media/list_keys.html");
128     }
129     
130     @Test
131     public void testList() {
132     	ModelAndView modelAndView = new ModelAndView("media/list");
133     	final List<Media> results = new ArrayList<Media>();
134     	for(int i = 0; i < 30; i++) {
135     		results.add(dataSet.getMedia().get(0));
136     	}
137     	Pager<Media> pager = new DefaultPagerImpl<Media>(0, 30, 30, results) {
138              protected String getLabel(Integer i) {
139                      Media k = results.get(i);
140                      return k.getTitle().values().iterator().next().getText();
141              }
142         };
143         modelAndView.addObject("pager",pager);
144         System.out.println("start");
145         outputMock(modelAndView,"target/generated-sources/mock/media/list.html");
146     }   
147 }