Skip to content

Commit 13873c1

Browse files
committed
SeriesImportServiceImpl.addSeries(): add unit tests.
Fix #734 No functional changes.
1 parent e40a217 commit 13873c1

File tree

3 files changed

+49
-2
lines changed

3 files changed

+49
-2
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ public Integer addRequest(RequestImportDto dto, Integer userId) {
7979
return id;
8080
}
8181

82-
// @todo #700 SeriesImportServiceImpl.addSeries(): add unit tests
8382
@Override
8483
@Transactional
8584
@PreAuthorize(HasAuthority.IMPORT_SERIES)

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

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import ru.mystamps.web.dao.dto.ImportRequestDto
3434
import ru.mystamps.web.dao.dto.ParsedDataDto
3535
import ru.mystamps.web.dao.SeriesImportDao
3636
import ru.mystamps.web.dao.dto.ImportSeriesDbDto
37+
import ru.mystamps.web.service.dto.AddSeriesDto
3738
import ru.mystamps.web.tests.DateUtils
3839
import ru.mystamps.web.tests.Random
3940

@@ -99,6 +100,46 @@ class SeriesImportServiceImplTest extends Specification {
99100
result == expectedResult
100101
}
101102

103+
//
104+
// Tests for addSeries()
105+
//
106+
107+
def 'addSeries() should create series and return its id'() {
108+
given:
109+
AddSeriesDto expectedDto = TestObjects.createAddSeriesDto()
110+
Integer expectedUserId = Random.userId()
111+
Integer expectedRequestId = Random.id()
112+
Integer expectedSeriesId = Random.id()
113+
when:
114+
Integer seriesId = service.addSeries(expectedDto, expectedRequestId, expectedUserId)
115+
then:
116+
1 * seriesService.add(expectedDto, expectedUserId, false) >> expectedSeriesId
117+
and:
118+
seriesId == expectedSeriesId
119+
}
120+
121+
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
122+
def 'addSeries() should update request and set status'() {
123+
given:
124+
Integer expectedRequestId = Random.id()
125+
Integer expectedSeriesId = Random.id()
126+
and:
127+
seriesService.add(_ as AddSeriesDto, _ as Integer, _ as Boolean) >> expectedSeriesId
128+
when:
129+
service.addSeries(TestObjects.createAddSeriesDto(), expectedRequestId, Random.userId())
130+
then:
131+
1 * seriesImportDao.setSeriesIdAndChangeStatus(
132+
expectedRequestId,
133+
expectedSeriesId,
134+
SeriesImportRequestStatus.PARSING_SUCCEEDED,
135+
SeriesImportRequestStatus.IMPORT_SUCCEEDED,
136+
{ Date updatedAt ->
137+
assert DateUtils.roughlyEqual(updatedAt, new Date())
138+
return true
139+
}
140+
)
141+
}
142+
102143
//
103144
// Tests for changeStatus()
104145
//

src/test/java/ru/mystamps/web/service/TestObjects.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
import java.nio.charset.StandardCharsets;
2222
import java.util.Date;
2323

24-
// CheckStyle: ignore AvoidStarImportCheck for next 1 line
24+
// CheckStyle: ignore AvoidStarImportCheck for next 2 lines
25+
import ru.mystamps.web.controller.dto.AddSeriesForm;
2526
import ru.mystamps.web.dao.dto.*;
27+
import ru.mystamps.web.service.dto.AddSeriesDto;
2628
import ru.mystamps.web.tests.Random;
2729
import ru.mystamps.web.util.SlugUtils;
2830

@@ -216,4 +218,9 @@ public static TransactionParticipantDto createTransactionParticipantDto() {
216218
return new TransactionParticipantDto(Random.id(), name, parentName);
217219
}
218220

221+
public static AddSeriesDto createAddSeriesDto() {
222+
// @todo #734 TestObjects.createAddSeriesDto(): return randomized values
223+
return new AddSeriesForm();
224+
}
225+
219226
}

0 commit comments

Comments
 (0)