MentaTutorials

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
16 soliveira 1
package org.menta.action;
2
 
3
import static org.mentawai.core.Action.CREATED;
4
import static org.mentawai.core.Action.ERROR;
5
import static org.mentawai.core.Action.SHOW;
6
import static org.mentawai.core.Action.UPDATED;
7
import junit.framework.Assert;
8
 
9
import org.junit.Test;
10
import org.menta.AbstractBaseTest;
11
import org.menta.model.Group;
12
import org.menta.model.Language;
13
import org.menta.model.User;
14
import org.mentawai.core.MapInput;
15
 
16
public class UserActionTest extends AbstractBaseTest {
17
 
18
        @Override
19
        public void before() throws Exception {
20
 
21
                super.before();
22
 
23
                User u = new User();
24
                u.setUsername("testUser");
25
                u.setPassword("abc123");
26
                u.setEmail("testUser@test.com");
27
                u.setGroupId(Group.ADMIN.getCode());
28
                u.setLanguageId(Language.ENGLISH.getCode());
29
 
30
                userDAO.insertOrUpdate(u);
31
 
32
                u = new User();
33
                u.setUsername("testUser2");
34
                u.setPassword("abc123");
35
                u.setEmail("testUser1@test.com");
36
                u.setGroupId(Group.MASTER.getCode());
37
                u.setLanguageId(Language.PORTUGUESE.getCode());
38
 
39
                userDAO.insertOrUpdate(u);
40
        }
41
 
42
        @Test
43
        public void add() throws Exception {
44
 
45
                UserAction userAction = getAction(UserAction.class);
46
 
47
                MapInput input = (MapInput) userAction.getInput();
48
 
49
                input.setValue("userDAO", userDAO); // necessary due to checkUsernameAdd method
50
 
51
                String result;
52
 
53
                // test only post...
54
                User user = new User();
55
                result = userAction.add(user);
56
 
57
                Assert.assertEquals(ERROR, result);
58
 
59
                input.setProperty("method", "post");
60
 
61
                // testing adding same username...
62
 
63
                input.setValue("username", "testUser");
64
                input.setValue("password", "abc123");
65
                input.setValue("email", "testuser@test.com");
66
                input.setValue("groupId", Group.ADMIN.getCode());
67
                input.setValue("languageId", Language.ENGLISH.getCode());
68
 
69
                boolean check = userAction.checkUsernameAdd(input.getString("username"));
70
 
71
                Assert.assertEquals(false, check);
72
 
73
                // test good username...
74
                input.setValue("username", "testUser2010");
75
 
76
                check = userAction.checkUsernameAdd(input.getString("username"));
77
 
78
                Assert.assertEquals(true, check);
79
 
80
                input.inject(user);
81
                result = userAction.add(user);
82
 
83
                Assert.assertEquals(CREATED, result);
84
        }
85
 
86
        @Test
87
        public void edit() throws Exception {
88
 
89
                UserAction userAction = getAction(UserAction.class);
90
 
91
                MapInput input = (MapInput) userAction.getInput();
92
 
93
                input.setValue("userDAO", userDAO); // necessary due to checkUsernameEdit method
94
 
95
                String result;
96
 
97
                // test showing...
98
 
99
                input.setProperty("method", "get");
100
 
101
                result = userAction.edit();
102
 
103
                Assert.assertEquals(SHOW, result);
104
 
105
                // test updating...
106
 
107
                input.setProperty("method", "post");
108
 
109
                User sessionUser = userDAO.findByUsername("testUser");
110
 
111
                userAction.setSessionObj(sessionUser);
112
 
113
                // try to change to an username that already exists...
114
 
115
                input.setValue("id", sessionUser.getId());
116
                input.setValue("username", "testUser2");
117
                input.setValue("email", "testuser@test.com");
118
                input.setValue("groupId", Group.ADMIN.getCode());
119
                input.setValue("languageId", Language.ENGLISH.getCode());
120
 
121
                boolean check = userAction.checkUsernameEdit(input.getString("username"));
122
 
123
                Assert.assertEquals(false, check);
124
 
125
                // now save a good username
126
 
127
                input.setValue("username", "testUser2011");
128
 
129
                check = userAction.checkUsernameEdit(input.getString("username"));
130
 
131
                Assert.assertEquals(true, check);
132
 
133
                result = userAction.edit();
134
 
135
                Assert.assertEquals(UPDATED, result);
136
 
137
                sessionUser = (User) userAction.getSessionObj();
138
 
139
                Assert.assertEquals("testUser2011", sessionUser.getUsername());
140
        }
141
 
142
}