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