package com.tcm.training.admin.app.home.service;
|
|
import com.tcm.training.admin.agent.mapper.ProvincialAgentMapper;
|
import com.tcm.training.admin.app.home.vo.AppVzanLiveEntryVO;
|
import com.tcm.training.admin.app.auth.service.AppAuthSessionService;
|
import com.tcm.training.admin.live.entity.Clinic;
|
import com.tcm.training.admin.live.mapper.ClinicMapper;
|
import com.tcm.training.admin.live.service.LiveRoomSettingService;
|
import com.tcm.training.admin.live.vo.LiveRoomSettingVO;
|
import com.tcm.training.admin.member.entity.AppUser;
|
import com.tcm.training.admin.member.mapper.UserMapper;
|
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.mockito.Mock;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.mockito.Mockito.when;
|
|
@ExtendWith(MockitoExtension.class)
|
class AppVzanLiveEntryServiceTest {
|
|
@Mock
|
private LiveRoomSettingService liveRoomSettingService;
|
@Mock
|
private UserMapper userMapper;
|
@Mock
|
private ClinicMapper clinicMapper;
|
@Mock
|
private ProvincialAgentMapper provincialAgentMapper;
|
@Mock
|
private AppAuthSessionService appAuthSessionService;
|
|
private AppVzanLiveEntryService service;
|
|
@BeforeEach
|
void setUp() {
|
service = new AppVzanLiveEntryService(
|
liveRoomSettingService, userMapper, clinicMapper, provincialAgentMapper,
|
appAuthSessionService);
|
}
|
|
@Test
|
void createEntryReturnsUrlAndUserAgentForNativePlugin() {
|
LiveRoomSettingVO setting = new LiveRoomSettingVO();
|
setting.setLiveRoomUrl("https://example.com/live?old=1");
|
when(liveRoomSettingService.current()).thenReturn(setting);
|
|
AppUser user = new AppUser();
|
user.setId(12L);
|
user.setClinicId(34L);
|
user.setDeleted(0);
|
user.setStatus(1);
|
user.setAvatar("https://example.com/avatar.png");
|
when(userMapper.selectById(12L)).thenReturn(user);
|
|
Clinic clinic = new Clinic();
|
clinic.setContactPhone("13800000000");
|
when(clinicMapper.selectById(34L)).thenReturn(clinic);
|
|
AppVzanLiveEntryVO result = service.createEntry(12L);
|
|
assertTrue(result.getUrl().startsWith("https://example.com/live?old=1&data="));
|
assertEquals("webchatPay/wx074c1f0cf5a0ecf4 InAppPay", result.getUa());
|
}
|
}
|