| | |
| | | import static org.mockito.ArgumentMatchers.any; |
| | | import static org.mockito.ArgumentMatchers.anyString; |
| | | import static org.mockito.ArgumentMatchers.eq; |
| | | import static org.mockito.Mockito.verify; |
| | | import static org.mockito.Mockito.when; |
| | | |
| | | import java.lang.reflect.Method; |
| | |
| | | import org.junit.jupiter.api.extension.ExtendWith; |
| | | import org.mockito.InjectMocks; |
| | | import org.mockito.Mock; |
| | | import org.mockito.ArgumentCaptor; |
| | | import org.mockito.junit.jupiter.MockitoExtension; |
| | | import org.springframework.jdbc.core.JdbcTemplate; |
| | | |
| | |
| | | assertThat(method.invoke(service, plain, "卓越人才卡", "LOCAL", true)).isNotNull(); |
| | | assertThat(method.invoke(service, plain, "卓越人才卡", "OUTSIDE", true)).isNotNull(); |
| | | } |
| | | |
| | | @Test |
| | | void newsListSortsPinnedArticlesByModifiedTime() { |
| | | when(jdbc.queryForObject(anyString(), eq(Long.class), any(Object[].class))).thenReturn(0L); |
| | | when(jdbc.queryForList(anyString(), any(Object[].class))).thenReturn(List.of()); |
| | | |
| | | service.news(1, 10); |
| | | |
| | | ArgumentCaptor<String> sql = ArgumentCaptor.forClass(String.class); |
| | | verify(jdbc).queryForList(sql.capture(), any(Object[].class)); |
| | | assertThat(sql.getValue()) |
| | | .contains("from news_article") |
| | | .contains("is_top desc") |
| | | .contains("case when is_top = 1 then updated_at end desc"); |
| | | } |
| | | |
| | | @Test |
| | | void premiumListTagComesFromMerchantConfigurationOnly() { |
| | | // 商家权益里配了标签 → 用它;没配(新商家)→ 留空,不再兜底"人才专享"。 |
| | | assertThat(service.configuredMerchantTag( |
| | | "[{\"level\":\"卓越人才卡\",\"enabled\":true,\"tag\":\"卓越人才卡\"}]", "")) |
| | | .isEqualTo("卓越人才卡"); |
| | | assertThat(service.configuredMerchantTag("", "")).isEmpty(); |
| | | assertThat(service.configuredMerchantTag("[]", "")).isEmpty(); |
| | | // 权益里没写标签时退回商家服务标签。 |
| | | assertThat(service.configuredMerchantTag("[{\"level\":\"卓越人才卡\",\"enabled\":true}]", "专属服务")).isEqualTo("专属服务"); |
| | | } |
| | | } |