1   package com.germinus.merlin.controller.assignments;
2   
3   import org.springframework.mock.web.portlet.MockActionRequest;
4   import org.springframework.mock.web.portlet.MockActionResponse;
5   import org.springframework.mock.web.portlet.MockRenderRequest;
6   import org.springframework.mock.web.portlet.MockRenderResponse;
7   import org.springframework.web.portlet.ModelAndView;
8   
9   import com.germinus.merlin.controller.BaseControllerTestCase;
10  import com.germinus.merlin.mock.MockMerlinKeys;
11  import com.germinus.merlin.util.MerlinWebKeys;
12  
13  
14  public class AssignmentEditControllerTest extends BaseControllerTestCase {
15  	
16  		public AssignmentEditControllerTest() {
17  			super();	
18  			setControllerName("assignmentEditController");
19  			setApplicationContextFile("assignments.xml");
20  		}
21  		
22  		public void  testHandleRenderRequestInternal(){
23  			
24  			try {
25  				AssignmentEditController controller =(AssignmentEditController) loadController();
26  				controller.setLiferayUtil(mockMerlinFactory.getLiferayUtil());
27  				controller.setMerlinUtil(mockMerlinFactory.getMerlinUtil());
28  						
29  				MockRenderRequest request = mockMerlinFactory.getRenderRequest();
30  				MockRenderResponse response = mockMerlinFactory.getRenderResponse();
31  				
32  				request.addParameter("companyId", MockMerlinKeys.COURSE_ID_2.toString());
33  				request.addParameter("userType", MerlinWebKeys.TEACHER);
34  				request.addParameter("assignmentId", MockMerlinKeys.EDIT_ASSIGNMENT_ID.toString());
35  				request.addParameter("visible","true");
36  				ModelAndView modelAndView = controller.handleRenderRequest(request, response);
37  				
38  				String assertMsg= new String ("\n\t<Expected> "+MockMerlinKeys.EDIT_UPLOAD_SINGLE_FILE_ASSIGNMENT+" <Actual> "+modelAndView.getViewName());
39  				assertTrue(assertMsg, modelAndView.getViewName().equals(MockMerlinKeys.EDIT_UPLOAD_SINGLE_FILE_ASSIGNMENT));
40  				
41  				request.setParameter("assignmentId", String.valueOf(MockMerlinKeys.EDIT_ASSIGNMENT_ID.longValue()+100));
42  				modelAndView = controller.handleRenderRequest(request, response);
43  				
44  				assertMsg= new String ("\n\t<Expected> "+MockMerlinKeys.EDIT_ASSIGNMENT_NO_ASSIGNMENT_VIEW+" <Actual> "+modelAndView.getViewName());
45  				assertTrue(assertMsg, modelAndView.getViewName().equals(MockMerlinKeys.EDIT_ASSIGNMENT_NO_ASSIGNMENT_VIEW));
46  				
47  			
48  			
49  			} catch (Exception e) {
50  				e.printStackTrace();
51  				assertTrue("error: "+e.getMessage(), false);
52  			}
53  			
54  		}
55  		
56  		public void testHandleActionRequestInternal(){
57  			try {
58  				MockActionRequest request = mockMerlinFactory.getActionRequest();
59  				MockActionResponse response = mockMerlinFactory.getActionResponse();
60  				
61  				AssignmentEditController controller =(AssignmentEditController) loadController(); 
62  		
63  				request.setRemoteUser(MockMerlinKeys.USER_ID_PROFESOR.toString());
64  				request.addParameter("companyId", MockMerlinKeys.COURSE_ID_1.toString());
65  				request.addParameter("userType", MerlinWebKeys.TEACHER);
66  				request.addParameter("assignment", "3");
67  				request.addParameter("name", "Nombre editado");
68  				request.addParameter("content", "content editado");
69  				request.addParameter("type", "Online Activity");
70  				request.addParameter("description", "Description editado");
71  				request.addParameter("resourceContainerId", "1");
72  				request.addParameter("resubmit", "true");
73  				request.addParameter("emailsToTeacher", "true");
74  				request.addParameter("visible", "true");
75  				request.addParameter("preventLateSubmissions", "true");
76  				request.addParameter("startDate", "01/01/2001");
77  				request.addParameter("endDate", "01/01/2001");
78  				request.addParameter("hideDescriptionBeforeAvailable", "true");
79  				
80  				controller.handleActionRequestInternal(request, response);
81  				
82  				String fin=response.getRenderParameter("fin");
83  				
84  				String assertMsg= new String ("\n\t<Expected> "+"fin"+" <Actual> "+fin);
85  				assertTrue(assertMsg, fin.equals("fin"));
86  				
87  			} catch (Exception e) {
88  				e.printStackTrace();
89  				assertTrue("error: "+e.getMessage(), false);
90  			}
91  		}
92  
93  }