Skip to content

Commit 5843e7a

Browse files
committed
CategoryServiceImpl.add(): add unit tests for slug.
Fix #63
1 parent f7e20e6 commit 5843e7a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import ru.mystamps.web.entity.User
2828
import ru.mystamps.web.model.AddCategoryForm
2929
import ru.mystamps.web.service.dto.SelectEntityDto
3030
import ru.mystamps.web.tests.DateUtils
31+
import ru.mystamps.web.util.SlugUtils
3132

3233
class CategoryServiceImplTest extends Specification {
3334

@@ -118,6 +119,31 @@ class CategoryServiceImplTest extends Specification {
118119
}) >> TestObjects.createCategory()
119120
}
120121

122+
def "add() should throw exception when name can't be converted to slug"() {
123+
given:
124+
form.setName(null)
125+
when:
126+
service.add(form, user)
127+
then:
128+
thrown IllegalArgumentException
129+
}
130+
131+
def "add() should pass slug to dao"() {
132+
given:
133+
String name = "-foo123 test_"
134+
and:
135+
String slug = SlugUtils.slugify(name)
136+
and:
137+
form.setName(name)
138+
when:
139+
service.add(form, user)
140+
then:
141+
1 * categoryDao.save({ Category category ->
142+
assert category?.slug == slug
143+
return true
144+
}) >> TestObjects.createCategory()
145+
}
146+
121147
def "add() should assign created at to current date"() {
122148
when:
123149
service.add(form, user)

0 commit comments

Comments
 (0)