| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package com.ruoyi.app.stall;
- import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
- import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
- import com.ruoyi.common.constant.HttpStatus;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.app.user.BusinessPhoneService;
- import com.ruoyi.common.utils.MessageUtils;
- import com.ruoyi.system.domain.InfoUser;
- import com.ruoyi.system.domain.PosStore;
- import com.ruoyi.system.service.IInfoUserService;
- import com.ruoyi.system.service.IPosStoreService;
- import com.ruoyi.system.utils.JwtUtil;
- import org.junit.jupiter.api.Test;
- import org.mockito.ArgumentCaptor;
- import org.mockito.MockedStatic;
- import org.springframework.test.util.ReflectionTestUtils;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.junit.jupiter.api.Assertions.assertNull;
- import static org.mockito.ArgumentMatchers.any;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.mockStatic;
- import static org.mockito.Mockito.verify;
- import static org.mockito.Mockito.when;
- class StallControllerTest {
- @Test
- void stallOwnerUsesUniqueBusinessTelPhone() throws Exception {
- IPosStoreService posStoreService = mock(IPosStoreService.class);
- IInfoUserService infoUserService = mock(IInfoUserService.class);
- BusinessPhoneService businessPhoneService = mock(BusinessPhoneService.class);
- @SuppressWarnings("unchecked")
- LambdaQueryChainWrapper<InfoUser> nameQuery = mock(LambdaQueryChainWrapper.class);
- when(infoUserService.lambdaQuery()).thenReturn(nameQuery);
- when(nameQuery.eq(any(SFunction.class), any())).thenReturn(nameQuery);
- when(nameQuery.one()).thenReturn(null);
- PosStore store = new PosStore();
- store.setId(8);
- store.setIsStall(1);
- store.setUserId(10L);
- when(posStoreService.selectPosStoreById(8L)).thenReturn(store);
- StallController controller = new StallController();
- ReflectionTestUtils.setField(controller, "posStoreService", posStoreService);
- ReflectionTestUtils.setField(controller, "infoUserService", infoUserService);
- ReflectionTestUtils.setField(controller, "businessPhoneService", businessPhoneService);
- InfoUser request = new InfoUser();
- request.setStoreId(8L);
- request.setUserName("stall-owner");
- request.setTelPhone("0912345678");
- request.setPassword("password");
- AjaxResult result;
- try (MockedStatic<MessageUtils> messages = mockStatic(MessageUtils.class)) {
- messages.when(() -> MessageUtils.message("no.success")).thenReturn("ok");
- result = controller.addStallOwner(
- JwtUtil.setToken("10", "night-market"), request);
- }
- assertEquals(HttpStatus.SUCCESS, result.get(AjaxResult.CODE_TAG));
- verify(businessPhoneService).ensureUnique("0912345678", null);
- ArgumentCaptor<InfoUser> inserted = ArgumentCaptor.forClass(InfoUser.class);
- verify(infoUserService).insertInfoUser(inserted.capture());
- assertEquals("0912345678", inserted.getValue().getTelPhone());
- assertNull(inserted.getValue().getPhone());
- assertEquals("4", inserted.getValue().getUserType());
- }
- }
|