package edu.nju.service; import edu.nju.dao.ReviewItemDao; import edu.nju.dao.ReviewPaperDao; import edu.nju.entities.ReviewItem; import edu.nju.entities.ReviewPaper; import org.json.JSONException; import org.json.JSONObject; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.ArrayList; import java.util.List; import static org.mockito.Matchers.any; public class ReviewPaperServiceTest { @InjectMocks private ReviewPaperService reviewPaperService; @Mock private ReviewPaperDao reviewPaperDao;; @Mock private ReviewItemDao reviewItemDao; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); } @Test public void should_uploadPaper_when_invoked() { //arrange String paperJson=""; List groupIds = new ArrayList<>(); groupIds.add(123L); //action JSONObject jsonObject=reviewPaperService.uploadPaper(paperJson); //assert try { Assert.assertEquals("success", jsonObject.getString("status")); } catch (JSONException e) { e.printStackTrace(); } Mockito.verify(reviewPaperDao).save(any(ReviewPaper.class)); Mockito.verify(reviewItemDao.saveItem(any(ReviewItem.class))); } @Test public void should_updatePaper_when_invoked() { //action String paperJson=""; String paperId=""; //action JSONObject jsonObject=reviewPaperService.updatePaper(paperId,paperJson); //assert try { Assert.assertEquals("success", jsonObject.getString("status")); } catch (JSONException e) { e.printStackTrace(); } Mockito.verify(reviewPaperDao).save(any(ReviewPaper.class)); Mockito.verify(reviewItemDao.saveItem(any(ReviewItem.class))); } }