This commit is contained in:
2026-09-09 14:31:59 +08:00
parent 250b623f3a
commit 5f671e164f
23 changed files with 384 additions and 32 deletions
@@ -0,0 +1,27 @@
package com.baiyue.warehouse.controller;
import com.baiyue.common.core.exception.BizException;
import com.baiyue.warehouse.dto.SupplierDtos.SupplierResource;
import com.baiyue.warehouse.service.SupplierService;
import org.junit.jupiter.api.Test;
import org.springframework.test.util.ReflectionTestUtils;
import static org.mockito.Mockito.*;
import static org.assertj.core.api.Assertions.*;
class InternalSupplierContactTest {
@Test void contactRequiresInternalTokenAndChecksTruckingCategory() {
var service = mock(SupplierService.class);
var controller = new InternalSupplierController();
ReflectionTestUtils.setField(controller,"service",service);
ReflectionTestUtils.setField(controller,"internalToken","test-token");
controller.initializeToken();
assertThatThrownBy(() -> controller.truckingContact("wrong",1L,true)).isInstanceOf(BizException.class);
verifyNoInteractions(service);
var supplier = mock(SupplierResource.class);
when(supplier.name()).thenReturn("Fleet"); when(supplier.email()).thenReturn("fleet@example.com");
when(service.detail(1L)).thenReturn(supplier);
var result = controller.truckingContact("test-token",1L,false).data();
assertThat(result.email()).isEqualTo("fleet@example.com");
verify(service).internalSnapshot(1L,false,"TRUCKING");
}
}