mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			676 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			676 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * Copyright (c) Microsoft Corporation.
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  * http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| import { test, expect } from '@playwright/test';
 | |
| import { getAPIRequestCodeGen } from '../../../packages/trace-viewer/src/ui/codegen';
 | |
| 
 | |
| test.describe('javascript', () => {
 | |
|   const impl = getAPIRequestCodeGen('javascript');
 | |
| 
 | |
|   test('generatePlaywrightRequestCall', () => {
 | |
| 
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'GET',
 | |
|       headers: [{ name: 'User-Agent', value: 'Mozilla/5.0' }, { name: 'Date', value: '2021-01-01' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'foo')).toEqual(`
 | |
| await page.request.get('http://example.com/foo', {
 | |
|   params: {
 | |
|     bar: 'baz'
 | |
|   },
 | |
|   data: 'foo',
 | |
|   headers: {
 | |
|     'User-Agent': 'Mozilla/5.0',
 | |
|     Date: '2021-01-01'
 | |
|   }
 | |
| });`.trim());
 | |
| 
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'OPTIONS',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.fetch('http://example.com/foo', {
 | |
|   method: 'options',
 | |
|   params: {
 | |
|     bar: 'baz'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with POST method and no body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'POST',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.post('http://example.com/foo', {
 | |
|   headers: {
 | |
|     'Content-Type': 'application/json'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PUT method and JSON body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PUT',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, '{"key":"value"}')).toEqual(`
 | |
| await page.request.put('http://example.com/foo', {
 | |
|   data: '{"key":"value"}',
 | |
|   headers: {
 | |
|     'Content-Type': 'application/json'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PATCH method and form data', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PATCH',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/x-www-form-urlencoded' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'key=value')).toEqual(`
 | |
| await page.request.patch('http://example.com/foo', {
 | |
|   data: 'key=value',
 | |
|   headers: {
 | |
|     'Content-Type': 'application/x-www-form-urlencoded'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with DELETE method and custom header', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'DELETE',
 | |
|       headers: [{ name: 'Authorization', value: 'Bearer token' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.delete('http://example.com/foo', {
 | |
|   headers: {
 | |
|     Authorization: 'Bearer token'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with HEAD method', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'HEAD',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.head('http://example.com/foo');`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with complex query parameters', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz&qux=quux',
 | |
|       method: 'GET',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get('http://example.com/foo', {
 | |
|   params: {
 | |
|     bar: 'baz',
 | |
|     qux: 'quux'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with multiple headers', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'User-Agent', value: 'Mozilla/5.0' },
 | |
|         { name: 'Accept', value: 'application/json' },
 | |
|         { name: 'Authorization', value: 'Bearer token' }
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get('http://example.com/foo', {
 | |
|   headers: {
 | |
|     'User-Agent': 'Mozilla/5.0',
 | |
|     Accept: 'application/json',
 | |
|     Authorization: 'Bearer token'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('escape sequences', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'F\\o', value: 'B\\r' },
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get('http://example.com/foo', {
 | |
|   headers: {
 | |
|     'F\\\\o': 'B\\\\r'
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
| });
 | |
| 
 | |
| test.describe('python', () => {
 | |
|   const impl = getAPIRequestCodeGen('python');
 | |
| 
 | |
|   test('generatePlaywrightRequestCall', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'GET',
 | |
|       headers: [{ name: 'User-Agent', value: 'Mozilla/5.0' }, { name: 'Date', value: '2021-01-01' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'foo')).toEqual(`
 | |
| await page.request.get(
 | |
|   "http://example.com/foo",
 | |
|   params={
 | |
|     "bar": "baz"
 | |
|   },
 | |
|   data="foo",
 | |
|   headers={
 | |
|     "User-Agent": "Mozilla/5.0",
 | |
|     "Date": "2021-01-01"
 | |
|   }
 | |
| )`.trim());
 | |
| 
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'OPTIONS',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.fetch(
 | |
|   "http://example.com/foo",
 | |
|   method="options",
 | |
|   params={
 | |
|     "bar": "baz"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with POST method and no body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'POST',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.post(
 | |
|   "http://example.com/foo",
 | |
|   headers={
 | |
|     "Content-Type": "application/json"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PUT method and JSON body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PUT',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, '{"key":"value"}')).toEqual(`
 | |
| await page.request.put(
 | |
|   "http://example.com/foo",
 | |
|   data="{\\"key\\":\\"value\\"}",
 | |
|   headers={
 | |
|     "Content-Type": "application/json"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PATCH method and form data', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PATCH',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/x-www-form-urlencoded' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'key=value')).toEqual(`
 | |
| await page.request.patch(
 | |
|   "http://example.com/foo",
 | |
|   data="key=value",
 | |
|   headers={
 | |
|     "Content-Type": "application/x-www-form-urlencoded"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with DELETE method and custom header', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'DELETE',
 | |
|       headers: [{ name: 'Authorization', value: 'Bearer token' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.delete(
 | |
|   "http://example.com/foo",
 | |
|   headers={
 | |
|     "Authorization": "Bearer token"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with HEAD method', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'HEAD',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.head("http://example.com/foo")`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with complex query parameters', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz&qux=quux',
 | |
|       method: 'GET',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get(
 | |
|   "http://example.com/foo",
 | |
|   params={
 | |
|     "bar": "baz",
 | |
|     "qux": "quux"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with multiple headers', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'User-Agent', value: 'Mozilla/5.0' },
 | |
|         { name: 'Accept', value: 'application/json' },
 | |
|         { name: 'Authorization', value: 'Bearer token' }
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get(
 | |
|   "http://example.com/foo",
 | |
|   headers={
 | |
|     "User-Agent": "Mozilla/5.0",
 | |
|     "Accept": "application/json",
 | |
|     "Authorization": "Bearer token"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
|   test('escape sequences', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'F\\o', value: 'B\\r' },
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await page.request.get(
 | |
|   "http://example.com/foo",
 | |
|   headers={
 | |
|     "F\\\\o": "B\\\\r"
 | |
|   }
 | |
| )`.trim());
 | |
|   });
 | |
| 
 | |
| });
 | |
| 
 | |
| test.describe('csharp', () => {
 | |
|   const impl = getAPIRequestCodeGen('csharp');
 | |
| 
 | |
|   test('generatePlaywrightRequestCall', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'GET',
 | |
|       headers: [{ name: 'User-Agent', value: 'Mozilla/5.0' }, { name: 'Date', value: '2021-01-01' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'foo')).toEqual(`
 | |
| await request.GetAsync("http://example.com/foo", new() {
 | |
|   Params = new() {
 | |
|     ["bar"] = "baz"
 | |
|   },
 | |
|   Data = "foo",
 | |
|   Headers = new() {
 | |
|     ["User-Agent"] = "Mozilla/5.0",
 | |
|     ["Date"] = "2021-01-01"
 | |
|   }
 | |
| });`.trim());
 | |
| 
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'OPTIONS',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await request.FetchAsync("http://example.com/foo", new() {
 | |
|   Method = "options",
 | |
|   Params = new() {
 | |
|     ["bar"] = "baz"
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with POST method and no body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'POST',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await request.PostAsync("http://example.com/foo", new() {
 | |
|   Headers = new() {
 | |
|     ["Content-Type"] = "application/json"
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PUT method and JSON body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PUT',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, '{"key":"value"}')).toEqual(`
 | |
| await request.PutAsync("http://example.com/foo", new() {
 | |
|   Data = "{\\"key\\":\\"value\\"}",
 | |
|   Headers = new() {
 | |
|     ["Content-Type"] = "application/json"
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| 
 | |
|   test('escape sequences', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'F\\o', value: 'B\\r' },
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| await request.GetAsync("http://example.com/foo", new() {
 | |
|   Headers = new() {
 | |
|     ["F\\\\o"] = "B\\\\r"
 | |
|   }
 | |
| });`.trim());
 | |
|   });
 | |
| });
 | |
| 
 | |
| test.describe('java', () => {
 | |
|   const impl = getAPIRequestCodeGen('java');
 | |
| 
 | |
|   test('generatePlaywrightRequestCall', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'GET',
 | |
|       headers: [{ name: 'User-Agent', value: 'Mozilla/5.0' }, { name: 'Date', value: '2021-01-01' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'foo')).toEqual(`
 | |
| request.get("http://example.com/foo", RequestOptions.create()
 | |
|   .setQueryParam("bar", "baz")
 | |
|   .setData("foo")
 | |
|   .setHeader("User-Agent", "Mozilla/5.0")
 | |
|   .setHeader("Date", "2021-01-01")
 | |
| );`.trim());
 | |
| 
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo?bar=baz',
 | |
|       method: 'OPTIONS',
 | |
|       headers: [],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| request.fetch("http://example.com/foo", RequestOptions.create()
 | |
|   .setMethod("options")
 | |
|   .setQueryParam("bar", "baz")
 | |
| );`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with POST method and no body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'POST',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| request.post("http://example.com/foo", RequestOptions.create()
 | |
|   .setHeader("Content-Type", "application/json")
 | |
| );`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PUT method and JSON body', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PUT',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/json' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, '{"key":"value"}')).toEqual(`
 | |
| request.put("http://example.com/foo", RequestOptions.create()
 | |
|   .setData("{\\"key\\":\\"value\\"}")
 | |
|   .setHeader("Content-Type", "application/json")
 | |
| );`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with PATCH method and form data', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'PATCH',
 | |
|       headers: [{ name: 'Content-Type', value: 'application/x-www-form-urlencoded' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, 'key=value')).toEqual(`
 | |
| request.patch("http://example.com/foo", RequestOptions.create()
 | |
|   .setData("key=value")
 | |
|   .setHeader("Content-Type", "application/x-www-form-urlencoded")
 | |
| );`.trim());
 | |
|   });
 | |
| 
 | |
|   test('generatePlaywrightRequestCall with DELETE method and custom header', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'DELETE',
 | |
|       headers: [{ name: 'Authorization', value: 'Bearer token' }],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| request.delete("http://example.com/foo", RequestOptions.create()
 | |
|   .setHeader("Authorization", "Bearer token")
 | |
| );`.trim());
 | |
|   });
 | |
| 
 | |
|   test('escape sequences', () => {
 | |
|     expect(impl.generatePlaywrightRequestCall({
 | |
|       url: 'http://example.com/foo',
 | |
|       method: 'GET',
 | |
|       headers: [
 | |
|         { name: 'F\\o', value: 'B\\r' },
 | |
|       ],
 | |
|       httpVersion: '1.1',
 | |
|       cookies: [],
 | |
|       queryString: [],
 | |
|       headersSize: 0,
 | |
|       bodySize: 0,
 | |
|       comment: '',
 | |
|     }, undefined)).toEqual(`
 | |
| request.get(\"http://example.com/foo\", RequestOptions.create()
 | |
|   .setHeader(\"F\\\\o\", \"B\\\\r\")
 | |
| );`.trim());
 | |
|   });
 | |
| });
 | 
