request.test.js 2.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
const PAGE_PATH = '/pages/API/request/request'


const methodMap = {
  "GET": "/api/http/method/get",
  "POST": "/api/http/method/post",
  "PUT": "/api/http/method/put",
  "DELETE": "/api/http/method/delete",
  "PATCH": "/api/http/method/patch",
  "OPTIONS": "/api/http/method/options",
  "HEAD": "/api/http/method/head"
}

async function request(page, method, header, data, url) {
  if (url == null) {
    url = methodMap[method]
  }
  await page.setData({
    url: url,
    method: method,
    data: data,
    header: header
  })
  res = await page.callMethod('jest_request')
25
  await page.waitFor(2000);
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
  res = await page.data('jest_result');
  expect(res).toBe(true)
}

describe('ExtApi-Request', () => {
  let page;
  let res;

  beforeAll(async () => {
    page = await program.reLaunch(PAGE_PATH)
    await page.waitFor(600);
  });


  beforeEach(async () => {
    await page.setData({
      jest_result: false,
      data: null,
      header: null
    })
  });


  it('Check GET', async () => {
    await request(page, 'GET');
  });
  it('Check POST ContentType Json', async () => {
    await request(page, 'POST', {
      "Content-Type": "application/json"
    }, {
      "hello": "world"
    }, "/api/http/contentType/json");
  });
  it('Check POST ContentType Form', async () => {
    await request(page, 'POST', {
      "Content-Type": "application/x-www-form-urlencoded"
    }, "hello=world", "/api/http/contentType/xWwwFormUrlencoded");
  });
  it('Check PUT', async () => {
    await request(page, 'PUT');
  });
  it('Check DELETE', async () => {
    await request(page, 'DELETE');
  });
  it('Check PATCH', async () => {
    await request(page, 'PATCH');
雪洛's avatar
雪洛 已提交
72 73 74 75 76 77
  });
  if (process.env.uniTestPlatformInfo.indexOf('web') === -1) {
    it('Check OPTIONS', async () => {
      await request(page, 'OPTIONS');
    });
  }
78 79
  it('Check HEAD', async () => {
    await request(page, 'HEAD');
80 81
  });

82 83 84

  if (process.env.uniTestPlatformInfo.indexOf('web') === -1) {
    it('Check Set Cookie', async () => {
85 86 87 88 89
      if (process.env.uniTestPlatformInfo.startsWith('android')) {
        let version = process.env.uniTestPlatformInfo
        version = version.split(" ")[1]
        if(version > 9){
          res = await page.callMethod('jest_set_cookie')
90
          await page.waitFor(2000);
91 92 93 94
          res = await page.data('jest_result');
          expect(res).toBe(true)
        }
      }
95 96
    });
    it('Check Delete Cookie', async () => {
97 98 99 100 101
      if (process.env.uniTestPlatformInfo.startsWith('android')) {
        let version = process.env.uniTestPlatformInfo
        version = version.split(" ")[1]
        if(version > 9){
          res = await page.callMethod('jest_delete_cookie')
102
          await page.waitFor(2000);
103 104 105 106
          res = await page.data('jest_result');
          expect(res).toBe(true)
        }
      }
107 108
    });
  }
109
});