Skip to content

Commit cc0b436

Browse files
committed
SeriesInfoExtractorServiceImpl.extractPrice(): add unit tests.
Fix #838
1 parent 9421342 commit cc0b436

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

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

-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,6 @@ public Integer extractSeller(String name, String url) {
261261
return null;
262262
}
263263

264-
// @todo #695 SeriesInfoExtractorServiceImpl.extractPrice(): add unit tests
265264
public BigDecimal extractPrice(String fragment) {
266265
if (StringUtils.isBlank(fragment)) {
267266
return null;

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

+29
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,35 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
309309
'part of word2000' | _
310310
}
311311

312+
//
313+
// Tests for extractPrice()
314+
//
315+
316+
def 'extractPrice() should return null when fragment is null, empty or blank'() {
317+
when:
318+
BigDecimal result = service.extractPrice(nullOrBlank())
319+
then:
320+
result == null
321+
}
322+
323+
def 'extractPrice() should return null for invalid price'() {
324+
given:
325+
String invalidPrice = '20x'
326+
when:
327+
BigDecimal result = service.extractPrice(invalidPrice)
328+
then:
329+
result == null
330+
}
331+
332+
def 'extractPrice() should extract price from a fragment'() {
333+
given:
334+
BigDecimal expectedPrice = Random.price()
335+
when:
336+
BigDecimal result = service.extractPrice(expectedPrice.toString())
337+
then:
338+
result == expectedPrice
339+
}
340+
312341
//
313342
// Tests for extractCurrency()
314343
//

0 commit comments

Comments
 (0)