Skip to content

Commit 2ac9ee5

Browse files
committed
UserServiceImplTest: use a random value for user id instead of a constant.
Addressed to #300 No functional changes.
1 parent ce69491 commit 2ac9ee5

File tree

2 files changed

+43
-13
lines changed

2 files changed

+43
-13
lines changed

src/test/groovy/ru/mystamps/web/service/UserServiceImplTest.groovy

+12-13
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@ import ru.mystamps.web.dao.dto.UserDetails
2929
import ru.mystamps.web.dao.dto.UsersActivationDto
3030
import ru.mystamps.web.controller.dto.ActivateAccountForm
3131
import ru.mystamps.web.tests.DateUtils
32+
import ru.mystamps.web.tests.Random
3233

3334
@SuppressWarnings(['ClassJavadoc', 'MethodName', 'NoDef', 'NoTabCharacter', 'TrailingWhitespace'])
3435
class UserServiceImplTest extends Specification {
3536

36-
private static final Integer ANY_USER_ID = TestObjects.TEST_USER_ID
37-
3837
private final UserDao userDao = Mock()
3938
private final UsersActivationService usersActivationService = Mock()
4039
private final CollectionService collectionService = Mock()
@@ -81,7 +80,7 @@ class UserServiceImplTest extends Specification {
8180
when:
8281
service.registerUser(activationForm)
8382
then:
84-
1 * userDao.add(_ as AddUserDbDto) >> ANY_USER_ID
83+
1 * userDao.add(_ as AddUserDbDto) >> Random.userId()
8584
}
8685

8786
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -96,7 +95,7 @@ class UserServiceImplTest extends Specification {
9695
return true
9796
})
9897
and:
99-
userDao.add(_ as AddUserDbDto) >> ANY_USER_ID
98+
userDao.add(_ as AddUserDbDto) >> Random.userId()
10099
}
101100

102101
def "registerUser() should throw exception when activation key is null"() {
@@ -129,7 +128,7 @@ class UserServiceImplTest extends Specification {
129128
1 * userDao.add({ AddUserDbDto user ->
130129
assert user?.name == expectedUserName
131130
return true
132-
}) >> ANY_USER_ID
131+
}) >> Random.userId()
133132
}
134133

135134
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -143,7 +142,7 @@ class UserServiceImplTest extends Specification {
143142
1 * userDao.add({ AddUserDbDto user ->
144143
assert user?.name == expectedUserLogin
145144
return true
146-
}) >> ANY_USER_ID
145+
}) >> Random.userId()
147146
}
148147

149148
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -158,7 +157,7 @@ class UserServiceImplTest extends Specification {
158157
1 * userDao.add({ AddUserDbDto user ->
159158
assert user?.name == expectedUserLogin
160159
return true
161-
}) >> ANY_USER_ID
160+
}) >> Random.userId()
162161
}
163162

164163
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -169,7 +168,7 @@ class UserServiceImplTest extends Specification {
169168
1 * userDao.add({ AddUserDbDto user ->
170169
assert user?.role == UserDetails.Role.USER
171170
return true
172-
}) >> ANY_USER_ID
171+
}) >> Random.userId()
173172
}
174173

175174
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -184,7 +183,7 @@ class UserServiceImplTest extends Specification {
184183
1 * userDao.add({ AddUserDbDto user ->
185184
assert user?.email == activation.email
186185
return true
187-
}) >> ANY_USER_ID
186+
}) >> Random.userId()
188187
}
189188

190189
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -199,7 +198,7 @@ class UserServiceImplTest extends Specification {
199198
1 * userDao.add({ AddUserDbDto user ->
200199
assert user?.registeredAt == activation.createdAt
201200
return true
202-
}) >> ANY_USER_ID
201+
}) >> Random.userId()
203202
}
204203

205204
def "registerUser() should throw exception when password is null"() {
@@ -221,7 +220,7 @@ class UserServiceImplTest extends Specification {
221220
1 * userDao.add({ AddUserDbDto user ->
222221
assert user?.hash == expectedHash
223222
return true
224-
}) >> ANY_USER_ID
223+
}) >> Random.userId()
225224
and:
226225
1 * encoder.encode({ String password ->
227226
assert password == TestObjects.TEST_PASSWORD
@@ -257,7 +256,7 @@ class UserServiceImplTest extends Specification {
257256
1 * userDao.add({ AddUserDbDto user ->
258257
assert user?.login == expectedUserLogin
259258
return true
260-
}) >> ANY_USER_ID
259+
}) >> Random.userId()
261260
}
262261

263262
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
@@ -268,7 +267,7 @@ class UserServiceImplTest extends Specification {
268267
1 * userDao.add({ AddUserDbDto user ->
269268
assert DateUtils.roughlyEqual(user?.activatedAt, new Date())
270269
return true
271-
}) >> ANY_USER_ID
270+
}) >> Random.userId()
272271
}
273272

274273
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (C) 2009-2017 Slava Semushin <[email protected]>
3+
*
4+
* This program is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation; either version 2 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* This program is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with this program; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17+
*/
18+
package ru.mystamps.web.tests;
19+
20+
import io.qala.datagen.RandomShortApi;
21+
22+
public final class Random {
23+
24+
private Random() {
25+
}
26+
27+
public static Integer userId() {
28+
return RandomShortApi.positiveInteger();
29+
}
30+
31+
}

0 commit comments

Comments
 (0)