Skip to content

Commit

Permalink
Merge branch 'develop' into feature/145
Browse files Browse the repository at this point in the history
hanyMK committed Dec 13, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 6ce4007 + 5f292a1 commit 52ce4be
Showing 30 changed files with 358 additions and 123 deletions.
64 changes: 64 additions & 0 deletions src/main/java/io/oduck/api/domain/admin/entity/Admin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package io.oduck.api.domain.admin.entity;

import io.oduck.api.domain.contact.entity.Answer;
import io.oduck.api.domain.contact.entity.FeedbackType;
import io.oduck.api.domain.contact.service.AnswerHolder;
import io.oduck.api.domain.contact.service.AnswerUpdateHolder;
import io.oduck.api.global.exception.BadRequestException;
import io.oduck.api.global.exception.NotFoundException;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import java.util.ArrayList;
import java.util.List;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED)
@Builder
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Table(name = "member")
@Entity
public class Admin {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@OneToMany(mappedBy = "admin", fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
private List<Answer> answers = new ArrayList<>();

public void answer(AnswerHolder holder) {
Answer answer = Answer.builder()
.content(holder.getContent())
.helpful(FeedbackType.NONE)
.check(false)
.contact(holder.getContact())
.admin(this)
.build();
answers.add(answer);

answer.answer();
}

public void updateAnswer(AnswerUpdateHolder holder) {
Answer answer = answers.stream()
.filter(a -> a.getId() == holder.getAnswerId())
.findFirst()
.orElseThrow(() -> new NotFoundException("answer"));

if(answer.isCheck() == true) {
throw new BadRequestException("이미 고객이 확인한 문의입니다.");
}

answer.update(holder.getContent());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package io.oduck.api.domain.admin.repository;

import io.oduck.api.domain.admin.entity.Admin;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

public interface AdminRepository extends JpaRepository<Admin, Long> {

@Query("select distinct a from Admin a join fetch a.answers where a.id = :id")
Optional<Admin> findWithAnswerById(@Param("id") Long id);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.oduck.api.domain.inquiry.dto;
package io.oduck.api.domain.contact.dto;

import io.oduck.api.domain.inquiry.entity.FeedbackType;
import io.oduck.api.domain.contact.entity.FeedbackType;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.oduck.api.domain.inquiry.dto;
package io.oduck.api.domain.contact.dto;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.oduck.api.domain.inquiry.dto;
package io.oduck.api.domain.contact.dto;

import io.oduck.api.domain.inquiry.entity.InquiryType;
import io.oduck.api.domain.contact.entity.InquiryType;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -29,8 +29,16 @@ public static class PostReq {
@Getter
@AllArgsConstructor
public static class AnswerReq {
private Long id;
@NotBlank
@Length(min = 1, max = 1000,
message = "글자 수는 1~1000를 허용합니다.")
private String content;
}


@Getter
@AllArgsConstructor
public static class AnswerUpdateReq {
@NotBlank
@Length(min = 1, max = 1000,
message = "글자 수는 1~1000를 허용합니다.")
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.oduck.api.domain.inquiry.dto;
package io.oduck.api.domain.contact.dto;

import io.oduck.api.domain.inquiry.dto.ContactReq.PostReq;
import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.contact.dto.ContactReq.PostReq;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.member.entity.Member;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
@@ -18,7 +18,7 @@ public static ContactRequestHolder from(PostReq request, Member member) {
.content(request.getContent())
.type(request.getType())
.answered(false)
.member(member)
.customer(member)
.build();
return new ContactRequestHolder(contact);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.oduck.api.domain.inquiry.dto;
package io.oduck.api.domain.contact.dto;

import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.contact.entity.Contact;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

import io.oduck.api.domain.admin.entity.Admin;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
@@ -31,14 +36,26 @@ public class Answer {
@Column(name = "check_answer")
private boolean check = false;

@OneToOne(mappedBy = "answer")
@OneToOne(mappedBy = "answer", cascade = CascadeType.PERSIST)
private Contact contact;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Admin admin;

public void check() {
check = true;
}

public void feedback(FeedbackType helpful) {
this.helpful = helpful;
}

public void update(String content) {
this.content = content;
}

public void answer() {
contact.answer();
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

import io.oduck.api.domain.member.entity.Member;
import io.oduck.api.global.audit.BaseEntity;
@@ -31,7 +31,7 @@ public class Contact extends BaseEntity {

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
private Member customer;

@Column(nullable = false, length = 100)
private String title;
@@ -51,4 +51,8 @@ public class Contact extends BaseEntity {
public void feedback(FeedbackType helpful) {
answer.feedback(helpful);
}

public void answer() {
answered = true;
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

public enum FeedbackType {
HELPFUL,
NOT_HELPFUL,
NOT_SELECT
NONE
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

public enum InquiryType {
ADD_REQUEST,
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

public enum Result {
DELETE,
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.oduck.api.domain.inquiry.entity;
package io.oduck.api.domain.contact.entity;

public enum Status {
WAITING,
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package io.oduck.api.domain.contact.repository;

import io.oduck.api.domain.contact.entity.Answer;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AnswerRepository extends JpaRepository<Answer, Long> {

}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package io.oduck.api.domain.inquiry.repository;
package io.oduck.api.domain.contact.repository;

import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.contact.entity.Contact;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

public interface ContactRepository extends JpaRepository<Contact, Long>, ContactRepositoryCustom {

@Query("select c from Contact c join fetch c.member where c.id = :id")
@Query("select c from Contact c join fetch c.customer where c.id = :id")
Optional<Contact> findWithMemberById(@Param("id") Long id);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.oduck.api.domain.inquiry.repository;
package io.oduck.api.domain.contact.repository;

import io.oduck.api.domain.inquiry.dto.ContactRes.MyInquiry;
import io.oduck.api.domain.contact.dto.ContactRes.MyInquiry;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package io.oduck.api.domain.inquiry.repository;
package io.oduck.api.domain.contact.repository;

import static io.oduck.api.domain.inquiry.entity.QAnswer.answer;
import static io.oduck.api.domain.inquiry.entity.QContact.contact;
import static io.oduck.api.domain.contact.entity.QAnswer.answer;
import static io.oduck.api.domain.contact.entity.QContact.contact;

import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.jpa.impl.JPAQuery;
import com.querydsl.jpa.impl.JPAQueryFactory;
import io.oduck.api.domain.inquiry.dto.ContactRes.MyInquiry;
import io.oduck.api.domain.contact.dto.ContactRes.MyInquiry;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -65,6 +65,6 @@ private BooleanExpression idEq(Long id) {
}

private BooleanExpression memberIdEq(Long memberId) {
return memberId == null ? null : contact.member.id.eq(memberId);
return memberId == null ? null : contact.customer.id.eq(memberId);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package io.oduck.api.domain.contact.service;

import io.oduck.api.domain.contact.dto.ContactReq.AnswerReq;
import io.oduck.api.domain.contact.entity.Contact;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class AnswerHolder {
private Contact contact;
private String content;

public static AnswerHolder from(Contact contact, AnswerReq request) {
return new AnswerHolder(contact, request.getContent());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package io.oduck.api.domain.contact.service;

import io.oduck.api.domain.contact.dto.ContactReq.AnswerUpdateReq;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class AnswerUpdateHolder {
private Long answerId;
private String content;

public static AnswerUpdateHolder from(Long answerId, AnswerUpdateReq request) {
return new AnswerUpdateHolder(answerId, request.getContent());
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.oduck.api.domain.inquiry.service;
package io.oduck.api.domain.contact.service;

import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.member.entity.Member;
import io.oduck.api.global.exception.ForbiddenException;
import org.springframework.stereotype.Component;
@@ -12,10 +12,10 @@ public void isAccessOwnInquiry(Contact contact, Member member) {
if(!isOwnInquiry(contact, member)) {
throw new ForbiddenException("not has permission");
}
contact.getMember().getId();
contact.getCustomer().getId();
}

private boolean isOwnInquiry(Contact contact, Member member) {
return contact.getMember().getId().equals(member.getId());
return contact.getCustomer().getId().equals(member.getId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package io.oduck.api.domain.contact.service;

import io.oduck.api.domain.contact.dto.ContactReq.AnswerReq;
import io.oduck.api.domain.contact.dto.ContactReq.AnswerUpdateReq;
import io.oduck.api.domain.contact.dto.ContactReq.PostReq;
import io.oduck.api.domain.contact.dto.ContactRes.DetailRes;
import io.oduck.api.domain.contact.dto.ContactRes.MyInquiry;
import io.oduck.api.domain.contact.entity.FeedbackType;
import io.oduck.api.global.common.PageResponse;

public interface ContactService {
void inquiry(Long memberId, PostReq request);

PageResponse<MyInquiry> getAllByMemberId(Long memberId, int page, int size);

DetailRes getByMemberId(Long inquiryId, Long memberId);

boolean hasNotCheckedAnswer(Long id, Long memberId);

void feedbackAnswer(Long id, Long memberId, FeedbackType helpful);

// Page<?> getAll();
//
void answer(Long id, Long adminId, AnswerReq request);

void update(Long answerId, Long adminId, AnswerUpdateReq request);
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package io.oduck.api.domain.inquiry.service;

import static io.oduck.api.domain.inquiry.dto.ContactReq.PostReq;
import static io.oduck.api.domain.inquiry.dto.ContactRes.MyInquiry;

import io.oduck.api.domain.inquiry.dto.AnswerFeedback;
import io.oduck.api.domain.inquiry.dto.ContactId;
import io.oduck.api.domain.inquiry.dto.ContactRequestHolder;
import io.oduck.api.domain.inquiry.dto.ContactRes.DetailRes;
import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.inquiry.entity.FeedbackType;
import io.oduck.api.domain.inquiry.repository.ContactRepository;
package io.oduck.api.domain.contact.service;

import static io.oduck.api.domain.contact.dto.ContactReq.PostReq;
import static io.oduck.api.domain.contact.dto.ContactRes.MyInquiry;

import io.oduck.api.domain.admin.entity.Admin;
import io.oduck.api.domain.admin.repository.AdminRepository;
import io.oduck.api.domain.contact.dto.AnswerFeedback;
import io.oduck.api.domain.contact.dto.ContactId;
import io.oduck.api.domain.contact.dto.ContactReq.AnswerReq;
import io.oduck.api.domain.contact.dto.ContactReq.AnswerUpdateReq;
import io.oduck.api.domain.contact.dto.ContactRequestHolder;
import io.oduck.api.domain.contact.dto.ContactRes.DetailRes;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.contact.entity.FeedbackType;
import io.oduck.api.domain.contact.repository.ContactRepository;
import io.oduck.api.domain.member.entity.Member;
import io.oduck.api.domain.member.repository.MemberRepository;
import io.oduck.api.global.common.PageResponse;
@@ -29,6 +33,7 @@ public class ContactServiceImpl implements ContactService {
private final ContactRepository contactRepository;

private final ContactPolicy contactPolicy;
private final AdminRepository adminRepository;

@Override
@Transactional
@@ -93,14 +98,24 @@ public void feedbackAnswer(Long id, Long memberId, FeedbackType helpful) {
// return null;
// }

// @Override
// @Transactional
// public void answer(Long adminId, AnswerReq request) {
// }
@Override
@Transactional
public void answer(Long id, Long adminId, AnswerReq request) {
Contact contact = contactRepository.findWithMemberById(id)
.orElseThrow(() -> new NotFoundException("inquiry"));

// @Override
// @Transactional
// public void update(Long id) {
//
// }
Admin admin = adminRepository.findWithAnswerById(adminId)
.orElseThrow(() -> new NotFoundException("admin"));

admin.answer(AnswerHolder.from(contact, request));
}

@Override
@Transactional
public void update(Long answerId, Long adminId, AnswerUpdateReq request) {
Admin admin = adminRepository.findWithAnswerById(adminId)
.orElseThrow(() -> new NotFoundException("admin"));

admin.updateAnswer(AnswerUpdateHolder.from(answerId, request));
}
}
Original file line number Diff line number Diff line change
@@ -22,10 +22,12 @@ public class GenreRepositoryCustomImpl implements GenreRepositoryCustom{
public List<Genre> findAllByAnimeId(Long animeId) {
JPAQuery<Genre> genreJPAQuery = queryFactory.select(genre)
.from(genre)
.join(animeGenre).on(animeGenre.anime.id.eq(animeId))
.join(animeGenre).on(genre.id.eq(animeGenre.genre.id))
.where(
animeGenre.anime.id.eq(animeId),
genre.deletedAt.isNull()
);
)
.limit(3);
return genreJPAQuery.fetch();
}

This file was deleted.

This file was deleted.

10 changes: 5 additions & 5 deletions src/main/java/io/oduck/api/domain/member/entity/Member.java
Original file line number Diff line number Diff line change
@@ -2,10 +2,10 @@

import io.oduck.api.domain.attractionPoint.entity.AttractionPoint;
import io.oduck.api.domain.bookmark.entity.Bookmark;
import io.oduck.api.domain.inquiry.dto.AnswerFeedback;
import io.oduck.api.domain.inquiry.dto.ContactId;
import io.oduck.api.domain.inquiry.dto.ContactRequestHolder;
import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.contact.dto.AnswerFeedback;
import io.oduck.api.domain.contact.dto.ContactId;
import io.oduck.api.domain.contact.dto.ContactRequestHolder;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.review.entity.ShortReview;
import io.oduck.api.domain.reviewLike.entity.ShortReviewLike;
import io.oduck.api.domain.starRating.entity.StarRating;
@@ -71,7 +71,7 @@ public class Member extends BaseEntity {
@OneToMany(mappedBy = "member", cascade = CascadeType.PERSIST)
private List<AttractionPoint> attractionPoints;

@OneToMany(mappedBy = "member", cascade = CascadeType.PERSIST)
@OneToMany(mappedBy = "customer", cascade = CascadeType.PERSIST)
private List<Contact> contacts = new ArrayList<>();

@Builder
84 changes: 84 additions & 0 deletions src/test/java/io/oduck/api/unit/contact/domain/AnswerTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package io.oduck.api.unit.contact.domain;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;

import io.oduck.api.domain.admin.entity.Admin;
import io.oduck.api.domain.contact.dto.ContactReq.AnswerReq;
import io.oduck.api.domain.contact.dto.ContactReq.AnswerUpdateReq;
import io.oduck.api.domain.contact.entity.Answer;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.contact.service.AnswerHolder;
import io.oduck.api.domain.contact.service.AnswerUpdateHolder;
import io.oduck.api.global.exception.BadRequestException;
import java.util.ArrayList;
import org.junit.jupiter.api.Test;

public class AnswerTest {

@Test
void 관리자는_문의할_수_있다() {
// given
Contact contact = Contact.builder()
.answered(false)
.build();

Admin admin = Admin.builder()
.answers(new ArrayList<>())
.build();

AnswerReq request = new AnswerReq("문의");

// when
admin.answer(AnswerHolder.from(contact, request));

// then
assertThat(admin.getAnswers().get(0).getContact().isAnswered()).isTrue();
assertThat(admin.getAnswers().get(0).getContent()).isEqualTo("문의");
}

@Test
void 관리자는_답변을_수정할_수있다() {
// given
Contact contact = Contact.builder()
.answered(false)
.build();

Admin admin = Admin.builder()
.answers(new ArrayList<>())
.build();

AnswerReq request = new AnswerReq("문의");
admin.answer(AnswerHolder.from(contact, request));

// when
admin.updateAnswer(AnswerUpdateHolder.from(null, new AnswerUpdateReq("문의 수정")));

// then
assertThat(admin.getAnswers().get(0).getContent()).isEqualTo("문의 수정");
}

@Test
void 관리자는_확인한_답변을_수정할_수_없다() {
// given
Contact contact = Contact.builder()
.answered(false)
.build();

Admin admin = Admin.builder()
.answers(new ArrayList<>())
.build();

AnswerReq request = new AnswerReq("문의");
admin.answer(AnswerHolder.from(contact, request));

Answer answer = admin.getAnswers().get(0);
answer.check();

// when
// then
assertThatThrownBy(() -> admin.updateAnswer(AnswerUpdateHolder.from(null, new AnswerUpdateReq("문의 수정"))))
.isInstanceOf(BadRequestException.class)
.hasMessageContaining("이미 고객이 확인한 문의입니다.");
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package io.oduck.api.unit.inquiry.domain;
package io.oduck.api.unit.contact.domain;

import static org.assertj.core.api.Assertions.assertThatThrownBy;

import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.inquiry.service.ContactPolicy;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.contact.service.ContactPolicy;
import io.oduck.api.domain.member.entity.Member;
import io.oduck.api.global.exception.ForbiddenException;
import org.junit.jupiter.api.Test;
@@ -17,7 +17,7 @@ public class ContactPolicyTest {
//given
Member writer = Member.builder().id(1L).build();

Contact contact = Contact.builder().member(writer).build();
Contact contact = Contact.builder().customer(writer).build();

Member target = Member.builder().id(2L).build();

Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package io.oduck.api.unit.inquiry.domain;
package io.oduck.api.unit.contact.domain;


import static org.assertj.core.api.Assertions.assertThat;

import io.oduck.api.domain.inquiry.dto.ContactId;
import io.oduck.api.domain.inquiry.dto.AnswerFeedback;
import io.oduck.api.domain.inquiry.dto.ContactReq.PostReq;
import io.oduck.api.domain.inquiry.dto.ContactRequestHolder;
import io.oduck.api.domain.inquiry.entity.Answer;
import io.oduck.api.domain.inquiry.entity.Contact;
import io.oduck.api.domain.inquiry.entity.FeedbackType;
import io.oduck.api.domain.inquiry.entity.InquiryType;
import io.oduck.api.domain.contact.dto.ContactId;
import io.oduck.api.domain.contact.dto.AnswerFeedback;
import io.oduck.api.domain.contact.dto.ContactReq.PostReq;
import io.oduck.api.domain.contact.dto.ContactRequestHolder;
import io.oduck.api.domain.contact.entity.Answer;
import io.oduck.api.domain.contact.entity.Contact;
import io.oduck.api.domain.contact.entity.FeedbackType;
import io.oduck.api.domain.contact.entity.InquiryType;
import io.oduck.api.domain.member.entity.Member;
import java.util.ArrayList;
import java.util.List;
@@ -67,7 +67,7 @@ public class ContactTest {
void 회원은_운영진의_답변에_피드백_할_수_있다() {
//given
Answer answer = Answer.builder()
.helpful(FeedbackType.NOT_SELECT)
.helpful(FeedbackType.NONE)
.build();

Contact contact = Contact.builder()
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package io.oduck.api.unit.inquiry.repository;
package io.oduck.api.unit.contact.repository;

import static org.assertj.core.api.Assertions.assertThat;

import io.oduck.api.domain.inquiry.dto.ContactReq.PostReq;
import io.oduck.api.domain.inquiry.dto.ContactRequestHolder;
import io.oduck.api.domain.inquiry.entity.InquiryType;
import io.oduck.api.domain.inquiry.repository.ContactRepository;
import io.oduck.api.domain.contact.dto.ContactReq.PostReq;
import io.oduck.api.domain.contact.dto.ContactRequestHolder;
import io.oduck.api.domain.contact.entity.InquiryType;
import io.oduck.api.domain.contact.repository.ContactRepository;
import io.oduck.api.domain.member.entity.Member;
import io.oduck.api.domain.member.repository.MemberRepository;
import java.util.ArrayList;

0 comments on commit 52ce4be

Please sign in to comment.