@Transactional
    public MeetingConfirmResponse create(String uuid, long attendeeId, MeetingConfirmRequest request) {
        LocalDateTime startDateTime = request.toStartDateTime();
        LocalDateTime endDateTime = request.toEndDateTime();

        Meeting meeting = meetingRepository.findByUuid(uuid)
                .orElseThrow(() -> new MomoException(MeetingErrorCode.INVALID_UUID));

        Attendee attendee = attendeeRepository.findByIdAndMeeting(attendeeId, meeting)
                .orElseThrow(() -> new MomoException(AttendeeErrorCode.INVALID_ATTENDEE));

        validateHostPermission(attendee);
        validateNotAlreadyConfirmed(meeting);
        validateMeetingLocked(meeting);
        validateTimeRange(meeting, startDateTime, endDateTime);
        validateDateRange(meeting, startDateTime, endDateTime);

        ConfirmedMeeting confirmedMeeting = new ConfirmedMeeting(meeting, startDateTime, endDateTime);
        confirmedMeetingRepository.save(confirmedMeeting);
        return MeetingConfirmResponse.from(confirmedMeeting);
    }
@DisplayName("주최자가 잠겨있는 약속의 일정을 확정한다.")
    @Test
    void confirmSchedule() {
        meetingConfirmService.create(meeting.getUuid(), attendee.getId(), validRequest);

        ConfirmedMeeting confirmedMeeting = confirmedMeetingRepository.findByMeeting(meeting).get();
        LocalDateTime startDateTime = confirmedMeeting.getStartDateTime();
        LocalDateTime endDateTime = confirmedMeeting.getEndDateTime();
        assertAll(
                () -> assertThat(startDateTime).isEqualTo(validRequest.toStartDateTime()),
                () -> assertThat(endDateTime).isEqualTo(validRequest.toEndDateTime())
        );
    }