Skip to content

Commit

Permalink
test : 단일 조회 테스트 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
daheeParkk committed Jan 10, 2024
1 parent 3f0bdac commit 676d359
Showing 1 changed file with 115 additions and 4 deletions.
119 changes: 115 additions & 4 deletions src/test/java/in/koreatech/koin/acceptance/LandApiTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package in.koreatech.koin.acceptance;

import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.format.DateTimeFormatter;

import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -25,8 +29,8 @@ void getLands() {
.internalName("복덕방")
.name("복덕방")
.roomType("원룸")
.latitude("37.555")
.longitude("126.555")
.latitude(37.555)
.longitude(126.555)
.monthlyFee("100")
.charterFee("1000")
.build();
Expand All @@ -53,9 +57,9 @@ void getLands() {
softly.assertThat(response.body().jsonPath().getString("[0].name")).isEqualTo(land.getName());
softly.assertThat(response.body().jsonPath().getString("[0].room_type"))
.isEqualTo(land.getRoomType());
softly.assertThat(response.body().jsonPath().getString("[0].latitude"))
softly.assertThat(response.body().jsonPath().getDouble("[0].latitude"))
.isEqualTo(land.getLatitude());
softly.assertThat(response.body().jsonPath().getString("[0].longitude"))
softly.assertThat(response.body().jsonPath().getDouble("[0].longitude"))
.isEqualTo(land.getLongitude());
softly.assertThat(response.body().jsonPath().getString("[0].monthly_fee"))
.isEqualTo(land.getMonthlyFee());
Expand All @@ -64,4 +68,111 @@ void getLands() {
}
);
}

@Test
@DisplayName("복덕방을 단일 조회한다.")
void getLand() {
Land request = Land.builder()
.internalName("복덕방")
.name("복덕방")
.roomType("원룸")
.latitude(37.555)
.longitude(126.555)
.floor(1L)
.monthlyFee("100")
.charterFee("1000")
.deposit("1000")
.managementFee("100")
.phone("010-1234-5678")
.address("서울시 강남구")
.size(100.0)
.build();

Land land = landRepository.save(request);

ExtractableResponse<Response> response = RestAssured
.given()
.log().all()
.when()
.log().all()
.get("/lands/{id}", land.getId())
.then()
.log().all()
.statusCode(HttpStatus.OK.value())
.extract();

SoftAssertions.assertSoftly(
softly -> {
softly.assertThat(response.body().jsonPath().getBoolean("opt_electronic_door_locks"))
.isEqualTo(land.getOptElectronicDoorLocks());
softly.assertThat(response.body().jsonPath().getBoolean("opt_tv")).isEqualTo(land.getOptTv());
softly.assertThat(response.body().jsonPath().getString("monthly_fee"))
.isEqualTo(land.getMonthlyFee());
softly.assertThat(response.body().jsonPath().getBoolean("opt_elevator"))
.isEqualTo(land.getOptElevator());
softly.assertThat(response.body().jsonPath().getBoolean("opt_water_purifier"))
.isEqualTo(land.getOptWaterPurifier());
softly.assertThat(response.body().jsonPath().getBoolean("opt_washer"))
.isEqualTo(land.getOptWasher());
softly.assertThat(response.body().jsonPath().getDouble("latitude"))
.isEqualTo(land.getLatitude());
softly.assertThat(response.body().jsonPath().getString("charter_fee"))
.isEqualTo(land.getCharterFee());
softly.assertThat(response.body().jsonPath().getBoolean("opt_veranda"))
.isEqualTo(land.getOptVeranda());
softly.assertThat(response.body().jsonPath().getString("created_at"))
.isEqualTo(land.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
softly.assertThat(response.body().jsonPath().getString("description"))
.isEqualTo(land.getDescription());
softly.assertThat(response.body().jsonPath().getList("image_urls"))
.isEqualTo(land.getImageUrls());
softly.assertThat(response.body().jsonPath().getBoolean("opt_gas_range"))
.isEqualTo(land.getOptGasRange());
softly.assertThat(response.body().jsonPath().getBoolean("opt_induction"))
.isEqualTo(land.getOptInduction());
softly.assertThat(response.body().jsonPath().getString("internal_name"))
.isEqualTo(land.getInternalName());
softly.assertThat(response.body().jsonPath().getBoolean("is_deleted"))
.isEqualTo(land.getIsDeleted());
softly.assertThat(response.body().jsonPath().getString("updated_at"))
.isEqualTo(land.getUpdatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
softly.assertThat(response.body().jsonPath().getBoolean("opt_bidet"))
.isEqualTo(land.getOptBidet());
softly.assertThat(response.body().jsonPath().getBoolean("opt_shoe_closet"))
.isEqualTo(land.getOptShoeCloset());
softly.assertThat(response.body().jsonPath().getBoolean("opt_refrigerator"))
.isEqualTo(land.getOptRefrigerator());
softly.assertThat(response.body().jsonPath().getLong("id")).isEqualTo(land.getId());
softly.assertThat(response.body().jsonPath().getLong("floor")).isEqualTo(land.getFloor());
softly.assertThat(response.body().jsonPath().getString("management_fee"))
.isEqualTo(land.getManagementFee());
softly.assertThat(response.body().jsonPath().getBoolean("opt_desk"))
.isEqualTo(land.getOptDesk());
softly.assertThat(response.body().jsonPath().getBoolean("opt_closet"))
.isEqualTo(land.getOptCloset());
softly.assertThat(response.body().jsonPath().getDouble("longitude"))
.isEqualTo(land.getLongitude());
softly.assertThat(response.body().jsonPath().getString("address"))
.isEqualTo(land.getAddress());
softly.assertThat(response.body().jsonPath().getBoolean("opt_bed"))
.isEqualTo(land.getOptBed());
softly.assertThat(response.body().jsonPath().getDouble("size"))
.isEqualTo(land.getSize());
softly.assertThat(response.body().jsonPath().getString("phone"))
.isEqualTo(land.getPhone());
softly.assertThat(response.body().jsonPath().getBoolean("opt_air_conditioner"))
.isEqualTo(land.getOptAirConditioner());
softly.assertThat(response.body().jsonPath().getString("name"))
.isEqualTo(land.getName());
softly.assertThat(response.body().jsonPath().getString("deposit"))
.isEqualTo(land.getDeposit());
softly.assertThat(response.body().jsonPath().getBoolean("opt_microwave"))
.isEqualTo(land.getOptMicrowave());
softly.assertThat(response.body().jsonPath().getString("permalink"))
.isEqualTo(URLEncoder.encode(land.getInternalName(), StandardCharsets.UTF_8));
softly.assertThat(response.body().jsonPath().getString("room_type"))
.isEqualTo(land.getRoomType());
}
);
}
}

0 comments on commit 676d359

Please sign in to comment.