1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.service.user.menu;
35
36 import java.util.List;
37
38 import javax.servlet.http.HttpServletRequest;
39
40 import org.springframework.mock.web.MockHttpServletRequest;
41
42 import fr.paris.lutece.portal.business.user.menu.AdminUserMenuItem;
43 import fr.paris.lutece.portal.business.user.menu.IAdminUserMenuItemProvider;
44 import fr.paris.lutece.test.LuteceTestCase;
45
46 public class AdminUserMenuServiceTest extends LuteceTestCase
47 {
48 private static final int NUM_ITEMS = 5;
49 private AdminUserMenuService _service;
50
51 @Override
52 protected void setUp( ) throws Exception
53 {
54 super.setUp( );
55 _service = new AdminUserMenuService( );
56 for ( int i = 0; i < NUM_ITEMS; i++ )
57 {
58 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( Integer.toString( i ) );
59 item.setName( Integer.toString( i ) );
60 _service.addItemProvider( item, null, null );
61 }
62 }
63
64 public void testAddItemProvider( )
65 {
66 final String strClass = "testAddItemProvider";
67 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
68 item.setName( strClass );
69 _service.addItemProvider( item, null, null );
70
71 HttpServletRequest request = new MockHttpServletRequest( );
72 List<AdminUserMenuItem> items = _service.getItems( request );
73
74 assertNotNull( items );
75 assertEquals( NUM_ITEMS + 1, items.size( ) );
76 assertEquals( strClass, items.get( NUM_ITEMS ).getItemClass( ) );
77 }
78
79 public void testAddItemProviderAfterFirst( )
80 {
81 final String strClass = "testAddItemProvider";
82 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
83 item.setName( strClass );
84 _service.addItemProvider( item, "0", null );
85
86 HttpServletRequest request = new MockHttpServletRequest( );
87 List<AdminUserMenuItem> items = _service.getItems( request );
88
89 assertNotNull( items );
90 assertEquals( NUM_ITEMS + 1, items.size( ) );
91 assertEquals( strClass, items.get( 1 ).getItemClass( ) );
92 }
93
94 public void testAddItemProviderAfterLast( )
95 {
96 final String strClass = "testAddItemProvider";
97 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
98 item.setName( strClass );
99 _service.addItemProvider( item, Integer.toString( NUM_ITEMS - 1 ), null );
100
101 HttpServletRequest request = new MockHttpServletRequest( );
102 List<AdminUserMenuItem> items = _service.getItems( request );
103
104 assertNotNull( items );
105 assertEquals( NUM_ITEMS + 1, items.size( ) );
106 assertEquals( strClass, items.get( NUM_ITEMS ).getItemClass( ) );
107 }
108
109 public void testAddItemProviderAfterUnknown( )
110 {
111 final String strClass = "testAddItemProvider";
112 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
113 item.setName( strClass );
114 _service.addItemProvider( item, "unknown", null );
115
116 HttpServletRequest request = new MockHttpServletRequest( );
117 List<AdminUserMenuItem> items = _service.getItems( request );
118
119 assertNotNull( items );
120 assertEquals( NUM_ITEMS + 1, items.size( ) );
121 assertEquals( strClass, items.get( NUM_ITEMS ).getItemClass( ) );
122 }
123
124 public void testAddItemProviderBeforeFirst( )
125 {
126 final String strClass = "testAddItemProvider";
127 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
128 item.setName( strClass );
129 _service.addItemProvider( item, null, "0" );
130
131 HttpServletRequest request = new MockHttpServletRequest( );
132 List<AdminUserMenuItem> items = _service.getItems( request );
133
134 assertNotNull( items );
135 assertEquals( NUM_ITEMS + 1, items.size( ) );
136 assertEquals( strClass, items.get( 0 ).getItemClass( ) );
137 }
138
139 public void testAddItemProviderBeforeLast( )
140 {
141 final String strClass = "testAddItemProvider";
142 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
143 item.setName( strClass );
144 _service.addItemProvider( item, null, Integer.toString( NUM_ITEMS - 1 ) );
145
146 HttpServletRequest request = new MockHttpServletRequest( );
147 List<AdminUserMenuItem> items = _service.getItems( request );
148
149 assertNotNull( items );
150 assertEquals( NUM_ITEMS + 1, items.size( ) );
151 assertEquals( strClass, items.get( NUM_ITEMS - 1 ).getItemClass( ) );
152 }
153
154 public void testAddItemProviderBeforeUnknown( )
155 {
156 final String strClass = "testAddItemProvider";
157 IAdminUserMenuItemProvider item = new TestAdminUserMenuItemProvider( strClass );
158 item.setName( strClass );
159 _service.addItemProvider( item, null, "unknown" );
160
161 HttpServletRequest request = new MockHttpServletRequest( );
162 List<AdminUserMenuItem> items = _service.getItems( request );
163
164 assertNotNull( items );
165 assertEquals( NUM_ITEMS + 1, items.size( ) );
166 assertEquals( strClass, items.get( NUM_ITEMS ).getItemClass( ) );
167 }
168
169 public void testGetItems( )
170 {
171 HttpServletRequest request = new MockHttpServletRequest( );
172 List<AdminUserMenuItem> items = _service.getItems( request );
173
174 assertNotNull( items );
175 assertEquals( NUM_ITEMS, items.size( ) );
176 for ( int i = 0; i < NUM_ITEMS; i++ )
177 {
178 assertEquals( Integer.toString( i ), items.get( i ).getItemClass( ) );
179 }
180 }
181
182 public void testGetItemsInvoked( )
183 {
184 assertTrue( NUM_ITEMS >= 2 );
185 HttpServletRequest request = new MockHttpServletRequest( );
186 request.setAttribute( TestAdminUserMenuItemProvider.INVOKED_NAME, Integer.toString( NUM_ITEMS - 2 ) );
187 List<AdminUserMenuItem> items = _service.getItems( request );
188
189 assertNotNull( items );
190 assertEquals( 1, items.size( ) );
191 assertEquals( Integer.toString( NUM_ITEMS - 2 ), items.get( 0 ).getItemClass( ) );
192 }
193 }