Skip to content

Commit

Permalink
test : 인수 테스트 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
daheeParkk committed Dec 30, 2023
1 parent ba23fc6 commit 512a6cc
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 1 deletion.
25 changes: 25 additions & 0 deletions src/main/java/in/koreatech/koin/domain/land/domain/Land.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Entity
@Table(name = "lands")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Land {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down Expand Up @@ -148,4 +152,25 @@ public class Land {
@NotNull
@Column(name = "is_deleted", nullable = false)
private Boolean isDeleted = false;

@Builder
private Land(String internalName, String name, String size, String roomType, String latitude, String longitude,
String phone, String imageUrls, String address, String description, Long floor, String deposit,
String monthlyFee, String charterFee, String managementFee) {
this.internalName = internalName;
this.name = name;
this.size = size;
this.roomType = roomType;
this.latitude = latitude;
this.longitude = longitude;
this.phone = phone;
this.imageUrls = imageUrls;
this.address = address;
this.description = description;
this.floor = floor;
this.deposit = deposit;
this.monthlyFee = monthlyFee;
this.charterFee = charterFee;
this.managementFee = managementFee;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@
public interface LandRepository extends Repository<Land, Long> {

List<Land> findAll();

Land save(Land request);
}
67 changes: 66 additions & 1 deletion src/test/java/in/koreatech/koin/acceptance/LandApiTest.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,67 @@
package in.koreatech.koin.acceptance;public class LandApiTest {
package in.koreatech.koin.acceptance;

import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;

import in.koreatech.koin.AcceptanceTest;
import in.koreatech.koin.domain.land.domain.Land;
import in.koreatech.koin.domain.land.repository.LandRepository;
import io.restassured.RestAssured;
import io.restassured.response.ExtractableResponse;
import io.restassured.response.Response;

class LandApiTest extends AcceptanceTest {

@Autowired
private LandRepository landRepository;

@Test
@DisplayName("복덕방 리스트를 조회한다.")
void getLands() {
Land request = Land.builder()
.internalName("복덕방")
.name("복덕방")
.roomType("원룸")
.latitude("37.555")
.longitude("126.555")
.monthlyFee("100")
.charterFee("1000")
.build();

Land land = landRepository.save(request);

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

SoftAssertions.assertSoftly(
softly -> {
softly.assertThat(response.body().jsonPath().getList(".").size()).isEqualTo(1);
softly.assertThat(response.body().jsonPath().getLong("[0].id")).isEqualTo(land.getId());
softly.assertThat(response.body().jsonPath().getString("[0].internal_name"))
.isEqualTo(land.getInternalName());
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"))
.isEqualTo(land.getLatitude());
softly.assertThat(response.body().jsonPath().getString("[0].longitude"))
.isEqualTo(land.getLongitude());
softly.assertThat(response.body().jsonPath().getString("[0].monthly_fee"))
.isEqualTo(land.getMonthlyFee());
softly.assertThat(response.body().jsonPath().getString("[0].charter_fee"))
.isEqualTo(land.getCharterFee());
}
);
}
}

0 comments on commit 512a6cc

Please sign in to comment.