|
|
@@ -0,0 +1,37 @@
|
|
|
+package com.ruoyi.app.order.dto;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.ruoyi.app.push.UserNotificationScene;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.junit.jupiter.params.ParameterizedTest;
|
|
|
+import org.junit.jupiter.params.provider.EnumSource;
|
|
|
+
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import static org.junit.jupiter.api.Assertions.*;
|
|
|
+
|
|
|
+class OrderPushBodyDtoTest {
|
|
|
+ @ParameterizedTest
|
|
|
+ @EnumSource(UserNotificationScene.class)
|
|
|
+ void preservesLegacyFieldsAndAddsOnlyEventScene(UserNotificationScene scene) {
|
|
|
+ JSONObject body = JSON.parseObject(OrderPushBodyDto.getUserJson("ORDER-1", "2", 0, 3, scene));
|
|
|
+ assertEquals(Set.of("ddId", "state", "type", "pushType", "eventScene"), body.keySet());
|
|
|
+ assertEquals("ORDER-1", body.getString("ddId"));
|
|
|
+ assertEquals("2", body.getString("state"));
|
|
|
+ assertEquals(0, body.getIntValue("type"));
|
|
|
+ assertEquals(3, body.getIntValue("pushType"));
|
|
|
+ assertEquals(scene.name(), body.getString("eventScene"));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void oldFactoryOmitsEventScene() {
|
|
|
+ Set<String> originalKeys = Set.of("ddId", "state", "type", "pushType");
|
|
|
+ assertEquals(originalKeys, JSON.parseObject(OrderPushBodyDto.getJson("ORDER-1", "2")).keySet());
|
|
|
+ assertEquals(originalKeys, JSON.parseObject(OrderPushBodyDto.getJson("ORDER-1", "2", 0)).keySet());
|
|
|
+ assertEquals(originalKeys, JSON.parseObject(OrderPushBodyDto.getJson("ORDER-1", "2", 0, 3)).keySet());
|
|
|
+ assertEquals(originalKeys, OrderPushBodyDto.getMap("ORDER-1", "2", 0, 3).keySet());
|
|
|
+ assertEquals(originalKeys, JSON.parseObject(OrderPushBodyDto.getUserJson("ORDER-1", "2", 0, 3, null)).keySet());
|
|
|
+ assertEquals(7, UserNotificationScene.values().length);
|
|
|
+ }
|
|
|
+}
|