content: package com.food.order.system;
  
  import com.food.order.system.domain.service.OrderDomainService;
  import com.food.order.system.domain.service.impl.OrderDomainServiceImpl;
  import com.food.order.system.ports.output.message.publisher.payment.PaymentRequestMessagePublisher;
  import com.food.order.system.ports.output.message.publisher.restaurantapproval.RestaurantApprovalRequestMessagePublisher;
  import com.food.order.system.ports.output.repository.*;
  import org.mockito.Mockito;
  import org.springframework.boot.autoconfigure.SpringBootApplication;
  import org.springframework.context.annotation.Bean;
  
  @SpringBootApplication(scanBasePackages = "com.food.order")
  public class OrderTestConfiguration {
  
      @Bean
      public PaymentRequestMessagePublisher paymentRequestMessagePublisher() {
          return Mockito.mock(PaymentRequestMessagePublisher.class);
      }
  
      @Bean
      public RestaurantApprovalRequestMessagePublisher restaurantApprovalRequestMessagePublisher() {
          return Mockito.mock(RestaurantApprovalRequestMessagePublisher.class);
      }
  
      @Bean
      public OrderRepository orderRepository() {
          return Mockito.mock(OrderRepository.class);
      }
  
      @Bean
      public CustomerRepository customerRepository() {
          return Mockito.mock(CustomerRepository.class);
      }
  
      @Bean
      public RestaurantRepository restaurantRepository() {
          return Mockito.mock(RestaurantRepository.class);
      }
  
      @Bean
      public PaymentOutboxRepository paymentOutboxRepository() {
          return Mockito.mock(PaymentOutboxRepository.class);
      }
  
      @Bean
      public ApprovalOutboxRepository approvalOutboxRepository() {
          return Mockito.mock(ApprovalOutboxRepository.class);
      }
  
      @Bean
      public OrderDomainService orderDomainService() {
          return new OrderDomainServiceImpl();
      }
  
  }
  