Răsfoiți Sursa

feat(voteResult): NPE occurs by wrong sql statement.

eric 2 ani în urmă
părinte
comite
da94c89d45

+ 1 - 1
src/main/resources/mapper/ChoiceMapper.xml

@@ -38,7 +38,7 @@
     </delete>
 
     <select id="selectByVoteIds" resultType="com.finikes.oc.vote.dto.OptionSummary">
-        SELECT count(1), option_id, value, vote_id
+        SELECT count(1) quantity, option_id, value, vote_id
         FROM t_option,
         t_choice
         WHERE t_option.vote_id IN

+ 3 - 1
src/test/java/com/finikes/oc/vote/dao/ChoiceDaoTest.java

@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -28,7 +29,8 @@ class ChoiceDaoTest {
 
     @Test
     void selectByVoteIds() {
-        List<OptionSummary> list = choiceDao.selectByVoteIds(IntStream.range(0, 10).boxed().collect(Collectors.toList()));
+
+        List<OptionSummary> list = choiceDao.selectByVoteIds(Collections.singletonList(3));
         list.forEach(System.out::println);
     }
 }

+ 30 - 0
src/test/java/com/finikes/oc/vote/service/VoteServiceTest.java

@@ -0,0 +1,30 @@
+package com.finikes.oc.vote.service;
+
+import com.finikes.oc.App;
+import com.finikes.oc.vote.dto.VoteResultDto;
+import org.junit.jupiter.api.MethodOrderer;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = App.class)
+@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
+class VoteServiceTest {
+
+    @Autowired
+    private VoteService voteService;
+
+    @Test
+    void voteResult() {
+        List<VoteResultDto> list = voteService.voteResult(17);
+        list.forEach(System.out::println);
+    }
+}