From 81479ffd40251584b368d1b87dc089b6b9288955 Mon Sep 17 00:00:00 2001 From: Aadhar Agarwal <30381180+Aadhar3@users.noreply.github.com> Date: Thu, 3 Sep 2020 05:09:01 -0400 Subject: [PATCH] fix: add tests for metric-imperial-converter (infosec) (#37891) Co-authored-by: Tom <20648924+moT01@users.noreply.github.com> Co-authored-by: Shaun Hamilton <51722130+Sky020@users.noreply.github.com> Co-authored-by: Shaun Hamilton <2397860h@student.gla.ac.uk> --- .../metric-imperial-converter.english.md | 78 +++++++++++++++++-- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/curriculum/challenges/english/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.english.md b/curriculum/challenges/english/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.english.md index 54ca481453..859f1aa5b0 100644 --- a/curriculum/challenges/english/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.english.md +++ b/curriculum/challenges/english/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.english.md @@ -30,14 +30,76 @@ tests: testString: '' - text: 'I can GET /api/convert with a single parameter containing an accepted number and unit and have it converted. (Hint: Split the input by looking for the index of the first character which will mark the start of the unit)' testString: '' - - text: I can convert 'gal' to 'L' and vice versa. (1 gal to 3.78541 L) - testString: '' - - text: I can convert 'lbs' to 'kg' and vice versa. (1 lbs to 0.453592 kg) - testString: '' - - text: I can convert 'mi' to 'km' and vice versa. (1 mi to 1.60934 km) - testString: '' - - text: If my unit of measurement is invalid, returned will be 'invalid unit'. - testString: '' + - text: I can convert 'gal' to 'L' and vice versa. (1 gal to 3.78541 L) + testString: "async getUserInput => { + try { + const data1 = await $.get(getUserInput('url') + '/api/convert?input=1gal'); + assert.equal(data1.returnNum, 3.78541); + assert.equal(data1.returnUnit, 'l'); + const data2 = await $.get(getUserInput('url') + '/api/convert?input=10gal'); + assert.equal(data2.returnNum, 37.8541); + assert.equal(data2.returnUnit, 'l'); + const data3 = await $.get(getUserInput('url') + '/api/convert?input=1l'); + assert.equal(data3.returnNum, 0.26417); + assert.equal(data3.returnUnit, 'gal'); + const data4 = await $.get(getUserInput('url') + '/api/convert?input=10l'); + assert.equal(data4.returnNum, 2.64172); + assert.equal(data4.returnUnit, 'gal'); + } catch(xhr) { + throw new Error(xhr.responseText); + } + } + " + - text: I can convert 'lbs' to 'kg' and vice versa. (1 lbs to 0.453592 kg) + testString: "async getUserInput => { + try { + const data1 = await $.get(getUserInput('url') + '/api/convert?input=1lbs'); + assert.equal(data1.returnNum, 0.45359); + assert.equal(data1.returnUnit, 'kg'); + const data2 = await $.get(getUserInput('url') + '/api/convert?input=10lbs'); + assert.equal(data2.returnNum, 4.53592); + assert.equal(data2.returnUnit, 'kg'); + const data3 = await $.get(getUserInput('url') + '/api/convert?input=1kg'); + assert.equal(data3.returnNum, 2.20462); + assert.equal(data3.returnUnit, 'lbs'); + const data4 = await $.get(getUserInput('url') + '/api/convert?input=10kg'); + assert.equal(data4.returnNum, 22.04624); + assert.equal(data4.returnUnit, 'lbs'); + } catch(xhr) { + throw new Error(xhr.responseText); + } + } + " + - text: I can convert 'mi' to 'km' and vice versa. (1 mi to 1.60934 km) + testString: "async getUserInput => { + try { + const data1 = await $.get(getUserInput('url') + '/api/convert?input=1mi'); + assert.equal(data1.returnNum, 1.60934); + assert.equal(data1.returnUnit, 'km'); + const data2 = await $.get(getUserInput('url') + '/api/convert?input=10mi'); + assert.equal(data2.returnNum, 16.0934); + assert.equal(data2.returnUnit, 'km'); + const data3 = await $.get(getUserInput('url') + '/api/convert?input=1km'); + assert.equal(data3.returnNum, 0.62137); + assert.equal(data3.returnUnit, 'mi'); + const data4 = await $.get(getUserInput('url') + '/api/convert?input=10km'); + assert.equal(data4.returnNum, 6.21373); + assert.equal(data4.returnUnit, 'mi'); + } catch(xhr) { + throw new Error(xhr.responseText); + } + } + " + - text: If my unit of measurement is invalid, returned will be 'invalid unit'. + testString: "async getUserInput => { + try { + const data = await $.get(getUserInput('url') + '/api/convert?input=1min'); + assert(data.initUnit === 'invalid unit' || data === 'invalid unit'); + } catch(xhr) { + throw new Error(xhr.responseText); + } + } + " - text: If my number is invalid, returned with will 'invalid number'. testString: '' - text: If both are invalid, return will be 'invalid number and unit'.