Skip to content

Commit 2a05ca3

Browse files
author
test
committed
ok
1 parent 46dad12 commit 2a05ca3

File tree

7 files changed

+64
-10
lines changed

7 files changed

+64
-10
lines changed

local/run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ export DW_URL=jdbc:informix-sqli://$IP:2021/common_dw:INFORMIXSERVER=informixolt
88
export TC_JWT_KEY=secret
99
export GROUP_SERVICE_ENDPOINT="http://$IP:8080/v3/groups?memberId=%s&membershipType=User-Group"
1010
export PARENT_GROUP_SERVICE_ENDPOINT="http://$IP:8080/v3/groups/%s/getParentGroup?oneLevel=false"
11+
export ZOOKEEPER_HOSTS_LIST=$IP
1112

1213
java -jar ../service/target/review-microservice-*.jar server ../service/src/main/resources/review-service.yaml

service/src/main/java/com/appirio/service/review/manager/ReviewOpportunitiesManager.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,14 @@
9292
* <li>always checks group permission for user eligibility when dealing with review opportunities and review application</li>
9393
* </ul>
9494
* </p>
95+
*
96+
* <p>
97+
* Version 1.7 - Topcoder Review Microservice: Add support for spec reviews for design challenges / Unit tests and README Fixes version 1.0
98+
* - add the support for the design spec review
99+
* </p>
95100
*
96101
* @author TCCoder
97-
* @version 1.6
102+
* @version 1.7
98103
*/
99104
public class ReviewOpportunitiesManager {
100105
/**
@@ -125,6 +130,13 @@ public class ReviewOpportunitiesManager {
125130
CHALLENGE_TYPE_IDS.add(36);
126131
CHALLENGE_TYPE_IDS.add(38);
127132
CHALLENGE_TYPE_IDS.add(39);
133+
134+
CHALLENGE_TYPE_IDS.add(17);
135+
CHALLENGE_TYPE_IDS.add(18);
136+
CHALLENGE_TYPE_IDS.add(21);
137+
CHALLENGE_TYPE_IDS.add(22);
138+
CHALLENGE_TYPE_IDS.add(30);
139+
CHALLENGE_TYPE_IDS.add(32);
128140
}
129141

130142
/**

service/src/main/resources/sql/review-opportunities/get-review-opportunities.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ INNER JOIN review_application_role_resource_role_xref rarrrx ON rarrrx.review_ap
140140
INNER JOIN default_project_payment dpp ON dpp.resource_role_id = rarrrx.resource_role_id AND p.project_category_id = dpp.project_category_id
141141
LEFT JOIN project_spec pspec on pspec.project_id = p.project_id
142142
WHERE p.project_status_id = 1
143-
AND pcl.project_type_id IN (1,2)
143+
AND pcl.project_type_id IN (1,2,3)
144144
AND pcl.project_category_id != 29
145145
AND pcl.project_category_id != 37
146146
AND pp13.phase_status_id IN (2,3)

service/src/test/java/com/appirio/service/test/manager/ReviewOpportunitiesManagerTest.java

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ public class ReviewOpportunitiesManagerTest extends GenericDAOTest {
117117
* Manager being tested
118118
*/
119119
private ReviewOpportunitiesManager manager;
120+
121+
private ReviewOpportunitiesDTO designSpecDto = new ReviewOpportunitiesDTO(4L, 3, 30005531L, 0, TestHelper.toDate(
122+
"2017-12-14 19:40:23.546"), TestHelper.toDate("2017-12-14 21:40:00.000"), 1, "Wireframes", 18,
123+
"Spec Review", "wire frame", "1.0", 1L, 18L, 50.00, 0.0, 0.0, 1400.0, 0, "JavaScript", "Facebook, Google", "detailedRequirement3", "submission guidelines3");
120124

121125
/**
122126
* Setup the jdbi instance and required data
@@ -136,8 +140,8 @@ public void before() throws Exception {
136140
"Beanstalk, Brivo Labs", "detailedRequirement2", "submission guidelines2");
137141
ReviewOpportunitiesDTO dto3 = new ReviewOpportunitiesDTO(3L, 3, 30005530L, 0, TestHelper.toDate(
138142
"2017-12-14 19:40:23.546"), TestHelper.toDate("2017-12-14 21:40:00.000"), 1, "Assembly Competition", 14,
139-
"Spec Review", "Assembly1", "1.0", 1L, 18L, 50.00, 0.0, 0.0, 1400.0, 0, "JavaScript", "Facebook, Google", "detailedRequirement3", "submission guidelines3");
140-
143+
"Spec Review", "Assembly1", "1.0", 1L, 18L, 50.00, 0.0, 0.0, 1400.0, 0, "JavaScript", "Facebook, Google", "detailedRequirement3", "submission guidelines3");
144+
141145
data.add(dto1);
142146
data.add(dto2);
143147
data.add(dto3);
@@ -149,6 +153,8 @@ public void before() throws Exception {
149153
.asList(dto2));
150154
Mockito.when(dao.getReviewOpportunities(Mockito.argThat(new IdMatcher("challenge_type_id", 14)))).thenReturn(Arrays
151155
.asList(dto3));
156+
Mockito.when(dao.getReviewOpportunities(Mockito.argThat(new IdMatcher("challenge_type_id", 18)))).thenReturn(Arrays
157+
.asList(designSpecDto));
152158
// all challenge
153159
Mockito.when(dao.getReviewOpportunities(Mockito.argThat(new IdMatcher("challenge_type_id", 0)))).thenReturn(data);
154160

@@ -175,7 +181,8 @@ public void before() throws Exception {
175181
Mockito.when(dao.getReviewApplicationRoleIds(Mockito.eq(132456L), Mockito.eq(3L), Mockito.argThat(new IdMatcher("reviewApplicationStatusId", 2)))).thenReturn(cancelIds);
176182

177183

178-
Mockito.when(challengeDao.getChallenge(Mockito.eq(30005530L))).thenReturn(Mockito.mock(com.appirio.service.review.api.Challenge.class));
184+
Mockito.when(challengeDao.getChallenge(Mockito.eq(30005530L))).thenReturn(Mockito.mock(com.appirio.service.review.api.Challenge.class));
185+
Mockito.when(challengeDao.getChallenge(Mockito.eq(30005531L))).thenReturn(Mockito.mock(com.appirio.service.review.api.Challenge.class));
179186
Phase phase = new Phase(30005530L, 1L, "Spec Review", "Opened", TestHelper.toDate("2017-12-19 22:21:00.000"),
180187
TestHelper.toDate("2017-12-20 22:21:00.000"), TestHelper.toDate("2017-12-19 22:21:00.000"), TestHelper.toDate("2017-12-20 22:21:00.000"));
181188
Mockito.when(dao.getChallengePhases(Mockito.argThat(new InQueryMatcher("challengeIds", new long[]{30005530L})))).thenReturn(Arrays.asList(phase));
@@ -204,10 +211,17 @@ public void before() throws Exception {
204211
groupPerm3.put("challenge_id", 30005530L);
205212
groupPerm3.put("challenge_group_ind", 0);
206213
groupPerm3.put("user_group_xref_found", null);
214+
215+
Map<String, Object> groupPerm4 = new HashMap<String, Object>();
216+
groupPerm4.put("challenge_id", 30005531L);
217+
groupPerm4.put("challenge_group_ind", 0);
218+
groupPerm4.put("user_group_xref_found", null);
207219

208220
groupPerms.add(groupPerm1);
209221
groupPerms.add(groupPerm2);
210222
groupPerms.add(groupPerm3);
223+
groupPerms.add(groupPerm4);
224+
211225
Mockito.when(dao.getChallengeAccessibilityAndGroups(Mockito.eq(123L), Mockito.argThat(new IdMatcher(
212226
"challenge_type_id", 0)))).thenReturn(groupPerms);
213227
Mockito.when(dao.getChallengeAccessibilityAndGroups(Mockito.eq(456L), Mockito.argThat(new IdMatcher(
@@ -270,6 +284,33 @@ public void testGetReviewOpportunitiesByChallengeId() throws SupplyException {
270284
assertEquals("review application size is not equal", item.getApplications().size(), 1);
271285
assertEquals("review application handle is not equal", item.getApplications().get(0).getHandle(), "handle");
272286
assertEquals("review application handle is not equal", item.getApplications().get(0).getStatus(), "pending");
287+
}
288+
289+
/**
290+
* Test ReviewOpportunitiesManager.getReviewOpportunities
291+
*
292+
* @throws SupplyException if any errror occurs
293+
*/
294+
@Test
295+
public void testGetReviewOpportunities_for_DesignChallenge_SpecReview() throws SupplyException {
296+
297+
List<ReviewOpportunityItem> items = manager.getReviewOpportunities(18, createQueryParam(""), createUser(USER_ID));
298+
assertEquals("The spec review opportunities should be 1 size", items.size(), 1);
299+
assertEquals("The challenge id should be equal", items.get(0).getChallengeId(), 30005531L);
300+
}
301+
302+
/**
303+
* Test ReviewOpportunitiesManager.getReviewOpportunitiesByChallengeId
304+
*
305+
* @throws SupplyException if any errror occurs
306+
*/
307+
@Test
308+
public void testGetReviewOpportunities_by_challengeId_for_DesignChallenge_SpecReview() throws SupplyException {
309+
data.add(this.designSpecDto);
310+
Mockito.when(dao.getReviewOpportunities(Mockito.argThat(new IdMatcher("challenge_type_id", 0)))).thenReturn(data);
311+
312+
ReviewOpportunityItem item = manager.getReviewOpportunitiesByChallengeId(createUser(USER_ID), 30005531L);
313+
assertEquals("The challenge id should be equal", item.getChallengeId(), 30005531L);
273314
}
274315

275316
/**
@@ -281,11 +322,11 @@ public void testGetReviewOpportunitiesByChallengeId() throws SupplyException {
281322
@Test
282323
public void testGetReviewOpportunitiesByChallengeId_challengeIdNotFound() throws SupplyException {
283324
try {
284-
ReviewOpportunityItem item = manager.getReviewOpportunitiesByChallengeId(createUser(USER_ID), 30005531);
325+
ReviewOpportunityItem item = manager.getReviewOpportunitiesByChallengeId(createUser(USER_ID), 30005599);
285326
fail("should not be here");
286327
} catch (SupplyException e) {
287328
assertEquals(HttpServletResponse.SC_NOT_FOUND, e.getStatusCode());
288-
assertEquals("The challenge id does not exist:30005531", e.getMessage());
329+
assertEquals("The challenge id does not exist:30005599", e.getMessage());
289330
}
290331
}
291332

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-all-query.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ INNER JOIN review_application_role_resource_role_xref rarrrx ON rarrrx.review_ap
140140
INNER JOIN default_project_payment dpp ON dpp.resource_role_id = rarrrx.resource_role_id AND p.project_category_id = dpp.project_category_id
141141
LEFT JOIN project_spec pspec on pspec.project_id = p.project_id
142142
WHERE p.project_status_id = 1
143-
AND pcl.project_type_id IN (1,2)
143+
AND pcl.project_type_id IN (1,2,3)
144144
AND pcl.project_category_id != 29
145145
AND pcl.project_category_id != 37
146146
AND pp13.phase_status_id IN (2,3)

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-challenge-id-query.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ INNER JOIN review_application_role_resource_role_xref rarrrx ON rarrrx.review_ap
140140
INNER JOIN default_project_payment dpp ON dpp.resource_role_id = rarrrx.resource_role_id AND p.project_category_id = dpp.project_category_id
141141
LEFT JOIN project_spec pspec on pspec.project_id = p.project_id
142142
WHERE p.project_status_id = 1
143-
AND pcl.project_type_id IN (1,2)
143+
AND pcl.project_type_id IN (1,2,3)
144144
AND pcl.project_category_id != 29
145145
AND pcl.project_category_id != 37
146146
AND pp13.phase_status_id IN (2,3)

service/src/test/resources/expected-sql/review-opportunities/review-opportunities-type-query.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ INNER JOIN review_application_role_resource_role_xref rarrrx ON rarrrx.review_ap
140140
INNER JOIN default_project_payment dpp ON dpp.resource_role_id = rarrrx.resource_role_id AND p.project_category_id = dpp.project_category_id
141141
LEFT JOIN project_spec pspec on pspec.project_id = p.project_id
142142
WHERE p.project_status_id = 1
143-
AND pcl.project_type_id IN (1,2)
143+
AND pcl.project_type_id IN (1,2,3)
144144
AND pcl.project_category_id != 29
145145
AND pcl.project_category_id != 37
146146
AND pp13.phase_status_id IN (2,3)

0 commit comments

Comments
 (0)