Skip to content

Commit 04d14a7

Browse files
committed
SeriesServiceImplTest.findByGibbonsNumber(): use StampsCatalogService.findSeriesIdsByNumber() method.
Also remove arguments validation as findSeriesIdsByNumber() validates them. Addressed to #299
1 parent 5ee4ac6 commit 04d14a7

File tree

7 files changed

+13
-49
lines changed

7 files changed

+13
-49
lines changed

src/main/java/ru/mystamps/web/config/DaoConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public StampsCatalogDao getGibbonsCatalogDao() {
5858
jdbcTemplate,
5959
env.getRequiredProperty("gibbons.create"),
6060
env.getRequiredProperty("series_gibbons.add"),
61-
env.getRequiredProperty("series_gibbons.find_by_series_id")
61+
env.getRequiredProperty("series_gibbons.find_by_series_id"),
62+
env.getRequiredProperty("series_gibbons.find_series_ids_by_number")
6263
);
6364
}
6465

src/main/java/ru/mystamps/web/dao/SeriesDao.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,4 @@ public interface SeriesDao {
4747
long countSeriesById(Integer seriesId);
4848
long countAddedSince(Date date);
4949
long countUpdatedSince(Date date);
50-
51-
List<Integer> findSeriesIdsByGibbonsNumberCode(String gibbonsNumber);
5250
}

src/main/java/ru/mystamps/web/dao/impl/JdbcSeriesDao.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,6 @@ public class JdbcSeriesDao implements SeriesDao {
104104
@Value("${series.count_series_updated_since}")
105105
private String countSeriesUpdatedSinceSql;
106106

107-
@Value("${series.find_series_ids_by_gibbons_number}")
108-
private String findSeriesIdsByGibbonsNumberSql;
109-
110107
@Override
111108
public Integer add(AddSeriesDbDto series) {
112109
Map<String, Object> params = new HashMap<>();
@@ -309,13 +306,4 @@ public long countUpdatedSince(Date date) {
309306
);
310307
}
311308

312-
@Override
313-
public List<Integer> findSeriesIdsByGibbonsNumberCode(String gibbonsNumber) {
314-
return jdbcTemplate.queryForList(
315-
findSeriesIdsByGibbonsNumberSql,
316-
Collections.singletonMap("gibbons_number", gibbonsNumber),
317-
Integer.class
318-
);
319-
}
320-
321309
}

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -283,13 +283,7 @@ public List<SeriesInfoDto> findByYvertNumber(String yvertNumberCode, String lang
283283
@Override
284284
@Transactional(readOnly = true)
285285
public List<SeriesInfoDto> findByGibbonsNumber(String gibbonsNumberCode, String lang) {
286-
Validate.isTrue(gibbonsNumberCode != null, "Gibbons number code must be non null");
287-
Validate.isTrue(
288-
!gibbonsNumberCode.trim().isEmpty(),
289-
"Gibbons number code must be non empty"
290-
);
291-
292-
List<Integer> seriesIds = seriesDao.findSeriesIdsByGibbonsNumberCode(gibbonsNumberCode);
286+
List<Integer> seriesIds = gibbonsCatalogService.findSeriesIdsByNumber(gibbonsNumberCode);
293287
if (seriesIds.isEmpty()) {
294288
return Collections.emptyList();
295289
}

src/main/resources/sql/series_dao_queries.properties

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,3 @@ series.count_series_updated_since = \
247247
SELECT COUNT(*) \
248248
FROM series \
249249
WHERE updated_at >= :date
250-
251-
series.find_series_ids_by_gibbons_number = \
252-
SELECT sgc.series_id AS series_id \
253-
FROM series_gibbons_catalog sgc \
254-
JOIN gibbons_catalog mc \
255-
ON mc.id = sgc.gibbons_id \
256-
WHERE mc.code = :gibbons_number

src/main/resources/sql/stamps_catalog_dao_queries.properties

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,10 @@ SELECT syc.series_id AS series_id \
198198
JOIN yvert_catalog mc \
199199
ON mc.id = syc.yvert_id \
200200
WHERE mc.code = :number
201+
202+
series_gibbons.find_series_ids_by_number = \
203+
SELECT sgc.series_id AS series_id \
204+
FROM series_gibbons_catalog sgc \
205+
JOIN gibbons_catalog mc \
206+
ON mc.id = sgc.gibbons_id \
207+
WHERE mc.code = :number

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

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,35 +1030,18 @@ class SeriesServiceImplTest extends Specification {
10301030
// Tests for findByGibbonsNumber()
10311031
//
10321032

1033-
@Unroll
1034-
def "findByGibbonsNumber() should throw exception for invalid argument '#catalogNumber'"(String catalogNumber) {
1035-
when:
1036-
service.findByGibbonsNumber(catalogNumber, 'en')
1037-
then:
1038-
thrown IllegalArgumentException
1039-
where:
1040-
catalogNumber | _
1041-
null | _
1042-
'' | _
1043-
' ' | _
1044-
}
1045-
1046-
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
10471033
def "findByGibbonsNumber() should find series ids"() {
10481034
given:
10491035
String expectedGibbonsNumber = '5'
10501036
when:
10511037
service.findByGibbonsNumber(expectedGibbonsNumber, 'en')
10521038
then:
1053-
1 * seriesDao.findSeriesIdsByGibbonsNumberCode({ String gibbonsNumber ->
1054-
assert gibbonsNumber == expectedGibbonsNumber
1055-
return true
1056-
}) >> []
1039+
1 * gibbonsCatalogService.findSeriesIdsByNumber(expectedGibbonsNumber) >> []
10571040
}
10581041

10591042
def "findByGibbonsNumber() shouldn't try to find series info if there are no series"() {
10601043
given:
1061-
seriesDao.findSeriesIdsByGibbonsNumberCode(_ as String) >> []
1044+
gibbonsCatalogService.findSeriesIdsByNumber(_ as String) >> []
10621045
when:
10631046
List<SeriesInfoDto> result = service.findByGibbonsNumber('5', 'en')
10641047
then:
@@ -1074,7 +1057,7 @@ class SeriesServiceImplTest extends Specification {
10741057
and:
10751058
List<Integer> expectedSeriesIds = [ 1 ]
10761059
and:
1077-
seriesDao.findSeriesIdsByGibbonsNumberCode(_ as String) >> expectedSeriesIds
1060+
gibbonsCatalogService.findSeriesIdsByNumber(_ as String) >> expectedSeriesIds
10781061
and:
10791062
List<SeriesInfoDto> expectedResult = []
10801063
when:

0 commit comments

Comments
 (0)