Skip to content

Commit 89744c1

Browse files
committed
SeriesServiceImpl.findBySolovyovNumber(): add unit tests.
Fix #818
1 parent 0079c25 commit 89744c1

File tree

3 files changed

+52
-1
lines changed

3 files changed

+52
-1
lines changed

src/main/java/ru/mystamps/web/service/SeriesServiceImpl.java

-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ public List<SeriesInfoDto> findByGibbonsNumber(String gibbonsNumberCode, String
271271
return findByCatalogNumber(gibbonsCatalogService, gibbonsNumberCode, lang);
272272
}
273273

274-
// @todo #777 SeriesServiceImpl.findBySolovyovNumber(): add unit tests
275274
@Override
276275
@Transactional(readOnly = true)
277276
public List<SeriesInfoDto> findBySolovyovNumber(String solovyovNumberCode, String lang) {

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

+39
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,45 @@ class SeriesServiceImplTest extends Specification {
10741074
result == expectedResult
10751075
}
10761076

1077+
//
1078+
// Tests for findBySolovyovNumber()
1079+
//
1080+
1081+
def 'findBySolovyovNumber() should find series ids'() {
1082+
given:
1083+
String expectedNumber = Random.catalogNumber()
1084+
when:
1085+
service.findBySolovyovNumber(expectedNumber, Random.lang())
1086+
then:
1087+
1 * solovyovCatalogService.findSeriesIdsByNumber(expectedNumber) >> []
1088+
}
1089+
1090+
def 'findBySolovyovNumber() shouldn\'t try to find series info if there are no series'() {
1091+
given:
1092+
solovyovCatalogService.findSeriesIdsByNumber(_ as String) >> []
1093+
when:
1094+
List<SeriesInfoDto> result = service.findBySolovyovNumber(Random.catalogNumber(), Random.lang())
1095+
then:
1096+
0 * seriesDao.findByIdsAsSeriesInfo(_ as List, _ as String)
1097+
and:
1098+
result.empty
1099+
}
1100+
1101+
def 'findBySolovyovNumber() should find and return series info'() {
1102+
given:
1103+
String expectedLang = Random.lang()
1104+
List<Integer> expectedSeriesIds = Random.listOfIntegers()
1105+
List<SeriesInfoDto> expectedResult = Random.listOfSeriesInfoDto()
1106+
and:
1107+
solovyovCatalogService.findSeriesIdsByNumber(_ as String) >> expectedSeriesIds
1108+
when:
1109+
List<SeriesInfoDto> result = service.findBySolovyovNumber(Random.catalogNumber(), expectedLang)
1110+
then:
1111+
1 * seriesDao.findByIdsAsSeriesInfo(expectedSeriesIds, expectedLang) >> expectedResult
1112+
and:
1113+
result == expectedResult
1114+
}
1115+
10771116
//
10781117
// Tests for findByCategorySlug()
10791118
//

src/test/java/ru/mystamps/web/tests/Random.java

+13
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import ru.mystamps.web.dao.dto.EntityWithIdDto;
3838
import ru.mystamps.web.dao.dto.EntityWithParentDto;
3939
import ru.mystamps.web.dao.dto.ImportRequestFullInfo;
40+
import ru.mystamps.web.dao.dto.SeriesInfoDto;
4041
import ru.mystamps.web.service.TestObjects;
4142
import ru.mystamps.web.validation.ValidationRules;
4243

@@ -224,6 +225,18 @@ public static List<EntityWithParentDto> listOfEntityWithParentDto() {
224225
);
225226
}
226227

228+
public static List<SeriesInfoDto> listOfSeriesInfoDto() {
229+
final int minSize = 1;
230+
final int maxSize = 3;
231+
int size = integer(minSize, maxSize);
232+
return sampleMultiple(
233+
size,
234+
TestObjects.createSeriesInfoDto(),
235+
TestObjects.createSeriesInfoDto(),
236+
TestObjects.createSeriesInfoDto()
237+
);
238+
}
239+
227240
public static List<ImportRequestFullInfo> listOfImportRequestFullInfo() {
228241
final int minSize = 1;
229242
final int maxSize = 3;

0 commit comments

Comments
 (0)