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 }