Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,35 @@

import static com.backend.server.fixture.ClassroomFixture.강의실1;
import static com.backend.server.fixture.ClassroomFixture.강의실2;
import static com.backend.server.util.MockMvcUtil.convertToJson;
import static com.backend.server.util.MockMvcUtil.convertToParams;
import static com.backend.server.util.MockMvcUtil.jsonPathEquals;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import com.backend.server.api.admin.classroom.dto.AdminClassroomRequest;
import com.backend.server.api.admin.classroom.dto.AdminClassroomResponse;
import com.backend.server.api.admin.classroom.dto.AdminClassroomSearchRequest;
import com.backend.server.api.admin.classroom.dto.AdminClassroomSearchRequest.SearchType;
import com.backend.server.api.admin.classroom.dto.AdminClassroomSearchRequest.SortBy;
import com.backend.server.config.ControllerTest;
import com.backend.server.model.entity.classroom.Classroom;
import com.backend.server.model.repository.classroom.ClassroomRepository;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;

@ControllerTest
@DisplayName("강의실 관리")
public class AdminClassroomTest {
public class AdminClassroomControllerTest {

@Autowired private MockMvc mockMvc;
@Autowired private ClassroomRepository classroomRepository;
Expand Down Expand Up @@ -72,4 +78,24 @@ class 강의실_목록_조회_API는 {
.andExpect(jsonPathEquals("$.data", List.of(classroomResponse2, classroomResponse1)));
}
}

@Test
public void 강의실_등록_API_테스트() throws Exception {
//given
AdminClassroomRequest request1 = 강의실1.등록_요청_생성();

//when
ResultActions result1 = mockMvc.perform(post("/api/admin/classroom")
.contentType(MediaType.APPLICATION_JSON)
.content(convertToJson(request1)));

//then
result1.andExpect(status().isOk())
.andExpect(jsonPath("$.data").value(1L));

Classroom classroom1 = classroomRepository.findById(1L).orElseThrow(() ->
new AssertionError("Classroom not found"));

강의실1.엔티티와_비교(classroom1);
}
}
19 changes: 15 additions & 4 deletions src/test/java/com/backend/server/fixture/ClassroomFixture.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.backend.server.fixture;

import static org.junit.jupiter.api.Assertions.assertEquals;

import com.backend.server.api.admin.classroom.dto.AdminClassroomRequest;
import com.backend.server.model.entity.User;
import com.backend.server.model.entity.classroom.Classroom;
Expand All @@ -23,16 +25,16 @@ public enum ClassroomFixture {
강의실1(
"강의실1",
"설명1",
DefaultTime.START.getValue(),
DefaultTime.END.getValue(),
LocalTime.of(8, 0),
LocalTime.of(20, 0),
null,
1L,
Status.AVAILABLE),
강의실2(
"강의실2",
"설명2",
DefaultTime.START.getValue(),
DefaultTime.END.getValue(),
LocalTime.of(6, 0),
LocalTime.of(18, 0),
null,
1L,
Status.AVAILABLE);
Expand Down Expand Up @@ -67,4 +69,13 @@ public enum ClassroomFixture {
.managerId(managerId)
.build();
}

public void 엔티티와_비교(Classroom classroom) {
assertEquals(name, classroom.getName());
assertEquals(description, classroom.getDescription());
assertEquals(startTime, classroom.getStartTime());
assertEquals(endTime, classroom.getEndTime());
assertEquals(imageUrl, classroom.getImageUrl());
assertEquals(status, classroom.getStatus());
}
}