github.com/hernad/nomad@v1.6.112/ui/tests/integration/components/job-page/helpers.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import { click, find } from '@ember/test-helpers'; 7 8 export function jobURL(job, path = '') { 9 const id = job.get('plainId'); 10 const namespace = job.get('namespace.name') || 'default'; 11 let expectedURL = `/v1/job/${id}${path}`; 12 if (namespace !== 'default') { 13 expectedURL += `?namespace=${namespace}`; 14 } 15 return expectedURL; 16 } 17 18 export async function stopJob() { 19 await click('[data-test-stop] [data-test-idle-button]'); 20 await click('[data-test-stop] [data-test-confirm-button]'); 21 } 22 23 export async function startJob() { 24 await click('[data-test-start] [data-test-idle-button]'); 25 await click('[data-test-start] [data-test-confirm-button]'); 26 } 27 28 export async function purgeJob() { 29 await click('[data-test-purge] [data-test-idle-button]'); 30 await click('[data-test-purge] [data-test-confirm-button]'); 31 } 32 33 export function expectStartRequest(assert, server, job) { 34 const expectedURL = jobURL(job); 35 const request = server.pretender.handledRequests 36 .filterBy('method', 'POST') 37 .find((req) => req.url === expectedURL); 38 39 const requestPayload = JSON.parse(request.requestBody).Job; 40 41 assert.ok(request, 'POST URL was made correctly'); 42 assert.ok( 43 requestPayload.Stop == null, 44 'The Stop signal is not sent in the POST request' 45 ); 46 } 47 48 export async function expectError(assert, title) { 49 assert.equal( 50 find('[data-test-job-error-title]').textContent, 51 title, 52 'Appropriate error is shown' 53 ); 54 assert.ok( 55 find('[data-test-job-error-body]').textContent.includes('ACL'), 56 'The error message mentions ACLs' 57 ); 58 59 await click('[data-test-job-error-close]'); 60 assert.notOk( 61 find('[data-test-job-error-title]'), 62 'Error message is dismissable' 63 ); 64 } 65 66 export function expectDeleteRequest(assert, server, job) { 67 const expectedURL = jobURL(job); 68 69 assert.ok( 70 server.pretender.handledRequests 71 .filterBy('method', 'DELETE') 72 .find((req) => req.url === expectedURL), 73 'DELETE URL was made correctly' 74 ); 75 } 76 77 export function expectPurgeRequest(assert, server, job) { 78 const expectedURL = jobURL(job) + '?purge=true'; 79 80 assert.ok( 81 server.pretender.handledRequests 82 .filterBy('method', 'DELETE') 83 .find((req) => req.url === expectedURL), 84 'DELETE URL was made correctly' 85 ); 86 }