Skip to content

Commit

Permalink
Merge pull request #71 from BbeumbungE/feat/BACK-305
Browse files Browse the repository at this point in the history
Feat: Stage 기록 갱신 test [BACK-305]
  • Loading branch information
ah9mon authored Sep 28, 2023
2 parents da18eb9 + 2321f62 commit 7e00894
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
public enum RecordCode implements ResponseCode {

CREATE_SUCCESS(201, "스테이지 기록 생성 및 리워드 지급에 성공했습니다.", HttpStatus.CREATED),
UPDATE_SUCCESS(200, "스테이지 기록 변경 및 리워드 지급에 성공했습니다.", HttpStatus.NO_CONTENT);
UPDATE_SUCCESS(200, "스테이지 기록 변경 및 리워드 지급에 성공했습니다.", HttpStatus.OK);

private final int code;
private final String message;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ public class RecordCreateTest {
@InjectMocks
RecordCreateService recordCreateService;


@Mock RecordRepository recordRepository;
@Mock RecordFindDao recordFindDao;
@Mock ProfileFindDao profileFindDao;
Expand Down
67 changes: 67 additions & 0 deletions src/test/java/com/siliconvalley/record/RecordUpdateTest.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,71 @@
package com.siliconvalley.record;

import com.siliconvalley.domain.google.service.VisionDetectingService;
import com.siliconvalley.domain.point.application.StageRewardApp;
import com.siliconvalley.domain.profile.domain.Profile;
import com.siliconvalley.domain.record.application.RecordUpdateService;
import com.siliconvalley.domain.record.dao.RecordFindDao;
import com.siliconvalley.domain.record.domain.Record;
import com.siliconvalley.domain.record.dto.RecordUpdateRequest;
import com.siliconvalley.domain.stage.domain.Score;
import com.siliconvalley.domain.stage.domain.Stage;
import com.siliconvalley.global.common.dto.Response;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

@ExtendWith(MockitoExtension.class)
@DisplayName("기록 갱신 테스트")
public class RecordUpdateTest {

@InjectMocks
RecordUpdateService recordUpdateService;

@Mock RecordFindDao recordFindDao;
@Mock StageRewardApp stageRewardApp;
@Mock VisionDetectingService visionDetectingService;

@Test
@DisplayName("기록 갱신")
void 기록_갱신_테스트() {
// Given
// profile 생성
Profile profile = Profile.builder().build();

// stage 생성
Stage stage = Stage.builder()
.stageNum(1)
.point(100)
.timeLimit(120)
.build();

// record 생성
Record record = Record.builder()
.score(3)
.profile(profile)
.stage(stage)
.build();

Long recordId = 1L;
Long canvasId = 1L;
RecordUpdateRequest dto = mock(RecordUpdateRequest.class);
when(recordFindDao.findById(recordId)).thenReturn(record);
when(dto.getCanvasId()).thenReturn(canvasId);
when(visionDetectingService.calculateCanvasScore(canvasId)).thenReturn(Score.HIGH);

// When
Response response = recordUpdateService.evaluateCanvasAndupdateRecord(recordId, dto);

// Then
Assertions.assertEquals(response.getStatus().getCode(), 200);
}


}

0 comments on commit 7e00894

Please sign in to comment.