소스 검색

test: 新增APP端API测试用例20条 - 设备分组/设备管理/用户档案

liaoxg 3 달 전
부모
커밋
ac3b6a6249
1개의 변경된 파일144개의 추가작업 그리고 0개의 파일을 삭제
  1. 144 0
      test-e2e/e2e/app-api.spec.js

+ 144 - 0
test-e2e/e2e/app-api.spec.js

@@ -0,0 +1,144 @@
+const { test, expect, request } = require('@playwright/test');
+
+const API_BASE_URL = 'https://ajy.danclub.cn/api';
+
+test.describe('8.1 App设备管理接口', () => {
+  test('APP-001: 获取设备列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/device/page`, {
+      params: { pageNum: 1, pageSize: 10 }
+    });
+    expect(response.status()).toBe(200);
+    const data = await response.json();
+    expect(data).toHaveProperty('code');
+  });
+
+  test('APP-002: 获取设备详情', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/device/1`);
+    expect([200, 404]).toContain(response.status());
+  });
+
+  test('APP-003: 获取设备可选列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/device/select`);
+    expect(response.status()).toBe(200);
+  });
+
+  test('APP-004: 绑定设备到用户', async ({ request }) => {
+    const response = await request.post(`${API_BASE_URL}/app/device/bind`, {
+      data: { deviceCode: 'AJY001' }
+    });
+    expect([200, 401, 500]).toContain(response.status());
+  });
+
+  test('APP-005: 按设备编号绑定', async ({ request }) => {
+    const response = await request.post(`${API_BASE_URL}/app/device/bind-by-code`, {
+      data: { deviceCode: 'AJY001' }
+    });
+    expect([200, 401, 500]).toContain(response.status());
+  });
+
+  test('APP-006: 解绑设备', async ({ request }) => {
+    const response = await request.post(`${API_BASE_URL}/app/device/unbind/1`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+});
+
+test.describe('8.2 App设备分组接口', () => {
+  test('APP-010: 获取设备分组列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/group`);
+    expect([200, 401]).toContain(response.status());
+  });
+
+  test('APP-011: 获取分组详情', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/group/1`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+
+  test('APP-012: 创建设备分组', async ({ request }) => {
+    const response = await request.post(`${API_BASE_URL}/app/group`, {
+      data: { name: '测试分组' }
+    });
+    expect([200, 201, 401, 500]).toContain(response.status());
+  });
+
+  test('APP-013: 更新分组信息', async ({ request }) => {
+    const response = await request.put(`${API_BASE_URL}/app/group/1`, {
+      data: { name: '更新分组名' }
+    });
+    expect([200, 401, 404]).toContain(response.status());
+  });
+
+  test('APP-014: 删除分组', async ({ request }) => {
+    const response = await request.delete(`${API_BASE_URL}/app/group/1`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+
+  test('APP-015: 获取群组成员列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/group/1/members`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+
+  test('APP-016: 添加群组成员', async ({ request }) => {
+    const response = await request.post(`${API_BASE_URL}/app/group/1/members`, {
+      data: { profileId: 1, deviceId: 1 }
+    });
+    expect([200, 401, 404, 500]).toContain(response.status());
+  });
+
+  test('APP-017: 更新群组成员', async ({ request }) => {
+    const response = await request.put(`${API_BASE_URL}/app/group/1/members/1`, {
+      data: { nickname: '成员昵称' }
+    });
+    expect([200, 401, 404, 500]).toContain(response.status());
+  });
+
+  test('APP-018: 移除群组成员', async ({ request }) => {
+    const response = await request.delete(`${API_BASE_URL}/app/group/1/members/1`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+
+  test('APP-019: 获取用户可添加的设备列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/group/devices`);
+    expect([200, 401]).toContain(response.status());
+  });
+
+  test('APP-020: 获取设备分组设备列表', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/group/1/devices`);
+    expect([200, 401, 404]).toContain(response.status());
+  });
+});
+
+test.describe('8.3 App用户档案接口', () => {
+  test('APP-030: 获取用户档案', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/profile`);
+    expect([200, 401]).toContain(response.status());
+  });
+
+  test('APP-031: 更新用户档案', async ({ request }) => {
+    const response = await request.put(`${API_BASE_URL}/app/profile`, {
+      data: { nickname: '测试昵称' }
+    });
+    expect([200, 401, 500]).toContain(response.status());
+  });
+
+  test('APP-032: 获取身体参数', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/profile/body-params`);
+    expect([200, 401]).toContain(response.status());
+  });
+
+  test('APP-033: 更新身体参数', async ({ request }) => {
+    const response = await request.put(`${API_BASE_URL}/app/profile/body-params`, {
+      data: { shoulderWidth: 42, bodyLength: 85 }
+    });
+    expect([200, 401, 500]).toContain(response.status());
+  });
+
+  test('APP-034: 获取背部产品穴位', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/acupoint/back-product`);
+    expect([200, 401]).toContain(response.status());
+  });
+
+  test('APP-035: 获取身体部位选项', async ({ request }) => {
+    const response = await request.get(`${API_BASE_URL}/app/acupoint/options/body-parts`);
+    expect([200, 401]).toContain(response.status());
+  });
+});