Skip to content

Commit 2da5416

Browse files
committed
TransactionParticipantService.findBuyersWithParents(): add unit test.
Fix #702
1 parent b61dfbc commit 2da5416

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

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

+17
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import spock.lang.Specification
2727
import ru.mystamps.web.dao.TransactionParticipantDao
2828
import ru.mystamps.web.dao.dto.AddParticipantDbDto
2929
import ru.mystamps.web.dao.dto.EntityWithIdDto
30+
import ru.mystamps.web.dao.dto.TransactionParticipantDto
3031
import ru.mystamps.web.controller.dto.AddParticipantForm
3132
import ru.mystamps.web.tests.Random
3233

@@ -114,6 +115,22 @@ class TransactionParticipantServiceImplTest extends Specification {
114115
})
115116
}
116117

118+
//
119+
// Tests for findBuyersWithParents()
120+
//
121+
122+
@SuppressWarnings(['ClosureAsLastMethodParameter', 'UnnecessaryReturnKeyword'])
123+
def 'findBuyersWithParents() should invoke dao and return its result'() {
124+
given:
125+
List<TransactionParticipantDto> expectedResult = Random.listOfTransactionParticipantDto()
126+
when:
127+
List<TransactionParticipantDto> result = service.findBuyersWithParents()
128+
then:
129+
1 * transactionParticipantDao.findBuyersWithParents() >> expectedResult
130+
and:
131+
result == expectedResult
132+
}
133+
117134
//
118135
// Tests for findAllGroups()
119136
//

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

+7
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,11 @@ public static CategoryDto createCategoryDto() {
209209
return new CategoryDto(name, slug, parentName);
210210
}
211211

212+
public static TransactionParticipantDto createTransactionParticipantDto() {
213+
String name = Random.categoryName();
214+
// @todo #702 TestObjects: introduce name generator for transaction participant groups
215+
String parentName = Random.categoryName();
216+
return new TransactionParticipantDto(Random.id(), name, parentName);
217+
}
218+
212219
}

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

+13
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import ru.mystamps.web.dao.dto.CategoryDto;
2828
import ru.mystamps.web.dao.dto.EntityWithIdDto;
29+
import ru.mystamps.web.dao.dto.TransactionParticipantDto;
2930
import ru.mystamps.web.service.TestObjects;
3031
import ru.mystamps.web.validation.ValidationRules;
3132

@@ -145,4 +146,16 @@ public static List<CategoryDto> listOfCategoryDto() {
145146
);
146147
}
147148

149+
public static List<TransactionParticipantDto> listOfTransactionParticipantDto() {
150+
final int minSize = 1;
151+
final int maxSize = 3;
152+
int size = integer(minSize, maxSize);
153+
return sampleMultiple(
154+
size,
155+
TestObjects.createTransactionParticipantDto(),
156+
TestObjects.createTransactionParticipantDto(),
157+
TestObjects.createTransactionParticipantDto()
158+
);
159+
}
160+
148161
}

0 commit comments

Comments
 (0)