diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..6815d627c 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,14 @@ console.log("Hello world"); + +// Try to `console.log()` something different. For example, 'Hello World. I just started learning JavaScript!'. +console.log("Hi, I'm Matilda, a software developer"); + +// Try to console.log() several things at once. +console.log("Hello " + "Everyone"); +console.log("CodeYourFuture is " + "AWESOME!!!"); + +// What happens when you get rid of the quote marks? It reads it as a variable then throws an error that the variable hasn't been defined. +// console.log(hello); + +// What happens when you console.log() just a number without quotes? It returns a number +console.log(99); \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..f7d3dfca7 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `greeting` - +let greeting = "Hello world"; console.log(greeting); +console.log(greeting); +console.log(greeting); \ No newline at end of file diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..c08767a54 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - +let message = "I think coding is very fun"; console.log(message); +console.log(typeof message); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..d4c746914 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - -console.log(message); +let message = "Hey there, it's nice to meet you, I'm "; +let name = "Matilda"; +console.log(message + name); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..1646c09a2 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - -console.log(message); +let name = "Matilda"; +let length = name.length; +let message = `Hi, I'm ${name}, ${name} has ${length} characters in it`; +console.log(message); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..d8a91442a 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,3 @@ const name = " Daniel "; - -console.log(message); +let message = `My name is ${name.trim()} and my name is 6 characters long`; +console.log(message); \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..83c5bf9f3 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,7 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +let numberOfMentors = 8; +let message = `Number of students: ${numberOfStudents} +Number of mentors: ${numberOfMentors} +Total number of students and mentors: ${numberOfStudents + numberOfMentors}`; +console.log(message); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..d899e2e16 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,13 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +let totalNumber = numberOfStudents + numberOfMentors; +let studentPercentage = Math.round((numberOfStudents / totalNumber) * 100); +let mentorPercentage = Math.round((numberOfMentors / totalNumber) * 100); + +let numbers = `Percentage students: ${studentPercentage}% +Percentage mentors: ${mentorPercentage}%`; + +console.log(numbers); +// Percentage students: 65% +// Percentage mentors: 35% \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..ecf1ad765 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,11 @@ function halve(number) { - // complete the function here + // complete the function here + return number / 2; } var result = halve(12); console.log(result); +console.log(halve(79)); +console.log(halve(8990)); +console.log(halve(787979323)); \ No newline at end of file diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..1448382f3 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,8 @@ function triple(number) { - // complete function here + // complete function here + return number * 3; } var result = triple(12); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..d74aa8044 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,10 @@ // Complete the function so that it takes input parameters -function multiply() { - // Calculate the result of the function and return it +function multiply(a, b) { + // Calculate the result of the function and return it + return a * b; } // Assign the result of calling the function the variable `result` var result = multiply(3, 4); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..b76badfd6 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,8 @@ // Declare your function first +function divide(a, b) { + return a / b; +} var result = divide(3, 4); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..4ba32b475 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,8 @@ // Write your function here +function createGreeting(name) { + return `Hello, my name is ${name}`; +} var greeting = createGreeting("Daniel"); -console.log(greeting); +console.log(greeting); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..6d266e381 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ // Declare your function first +function sumOfNumbers(num1, num2) { + return num1 + num2; +} // Call the function and assign to a variable `sum` - -console.log(sum); +let sum = sumOfNumbers(13, 124); +console.log(sum); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..92692754b 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,7 @@ // Declare your function here - +function createLongGreeting(name, age) { + return "Hello, my name is " + name + " and I'm " + age + " years old"; +} const greeting = createLongGreeting("Daniel", 30); - -console.log(greeting); +// Hello, my name is Daniel and I'm 30 years old +console.log(greeting); \ No newline at end of file diff --git a/exercises/L-functions-nested/README.md b/exercises/L-functions-nested/README.md index 1c4ae9c8a..012be64e0 100644 --- a/exercises/L-functions-nested/README.md +++ b/exercises/L-functions-nested/README.md @@ -9,7 +9,7 @@ function getAgeInDays(age) { return age * 365; } -function createCreeting(name, age) { +function createGreeting(name, age) { var ageInDays = getAgeInDays(age); var message = "My Name is " + name + " and I was born over " + ageInDays + " days ago!"; diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..aa5d742b7 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,18 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function upperCaseNames(mentor) { + return mentor.toUpperCase(); +} + +function shoutyGreeting(mentor) { + var name = upperCaseNames(mentor); + return "HELLO " + name; +} + +console.log(shoutyGreeting(mentor1)); +console.log(shoutyGreeting(mentor2)); +console.log(shoutyGreeting(mentor3)); +console.log(shoutyGreeting(mentor4)); +console.log(shoutyGreeting(mentor5)); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index d82e59480..b46871d61 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,9 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(price) { + return price * 1.4; +} /* CURRENCY CONVERSION @@ -15,27 +17,30 @@ function convertToUSD() {} They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL. */ -function convertToBRL() {} +function convertToBRL(price) { + let num = (price / 100) * 99 * 5.7; //converts £ to brl + return Math.round(num * 100 + Number.EPSILON) / 100; //returns the value as a 2dp number +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. -To run these tests type `npm run extraTo run the tests for just this one file, type `npm run extra-tests -- --testPathPattern 1-syntax-errors` into your terminal +To run the tests for just this one file, type `npm test -- --testPathPattern 1-currency-conversion` into your terminal (Reminder: You must have run `npm install` one time before this will work!) */ test("convertToUSD function works for £32", () => { - expect(convertToUSD(32)).toEqual(44.8); + expect(convertToUSD(32)).toEqual(44.8); }); test("convertToUSD function works for £50", () => { - expect(convertToUSD(50)).toEqual(70); + expect(convertToUSD(50)).toEqual(70); }); test("convertToBRL function works for £30", () => { - expect(convertToBRL(30)).toEqual(169.29); + expect(convertToBRL(30)).toEqual(169.29); }); test("convertToBRL function works for £1.50", () => { - expect(convertToBRL(1.5)).toEqual(8.46); -}); + expect(convertToBRL(1.5)).toEqual(8.46); +}); \ No newline at end of file diff --git a/extra/2-piping.js b/extra/2-piping.js index 9c8ebc76a..dc316b635 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,27 +16,27 @@ the final result to the variable goodCode */ -function add() { - +function add(a, b) { + return a + b; } -function multiply() { - +function multiply(a, b) { + return a * b; } -function format() { - +function format(num) { + return "£" + num; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ - -let goodCode = - +let sum = add(startingValue, 10); +let times = multiply(sum, 2); +let goodCode = format(times); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. @@ -45,29 +45,29 @@ To run these tests type `npm run extraTo run the tests for just this one file, t */ test("add function - case 1 works", () => { - expect(add(1, 3)).toEqual(4); + expect(add(1, 3)).toEqual(4); }); test("add function - case 2 works", () => { - expect(add(2.4, 5)).toEqual(7.4); + expect(add(2.4, 5)).toEqual(7.4); }); test("multiply function works", () => { - expect(multiply(2, 3)).toEqual(6); + expect(multiply(2, 3)).toEqual(6); }); test("format function works for whole number", () => { - expect(format(16)).toEqual("£16"); + expect(format(16)).toEqual("£16"); }); test("format function works for decimal number", () => { - expect(format(10.1)).toEqual("£10.1"); + expect(format(10.1)).toEqual("£10.1"); }); test("badCode variable correctly assigned", () => { - expect(badCode).toEqual("£24"); + expect(badCode).toEqual("£24"); }); test("goodCode variable correctly assigned", () => { - expect(goodCode).toEqual("£24"); -}); + expect(goodCode).toEqual("£24"); +}); \ No newline at end of file diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index f3adbefa5..e2e70b9c6 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -1,3 +1,5 @@ +const matchers = require("jest-extended"); +expect.extend(matchers); /** Let's peer into the future using a Magic 8 Ball! @@ -43,10 +45,54 @@ Very doubtful. */ +let answers = { + veryPositive: [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + ], + positive: [ + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + ], + + negative: [ + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", + ], + veryNegative: [ + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", + ], +}; + // This should log "The ball has shaken!" // and return the answer. function shakeBall() { - //Write your code in here + //Write your code in here + let positivity = Math.floor(Math.random() * 4); // random number between 0 and 4 - the possible outcomes for veryPositive - veryNegative + let possibleAnswers = Math.floor(Math.random() * 5); // random number between 0 and 5 - the possible outcomes for each possible answer from the arrays veryPositive - veryNegative + console.log("The ball has shaken!"); + if (positivity === 0) { + return answers.veryPositive[possibleAnswers]; + } else if (positivity === 1) { + return answers.positive[possibleAnswers]; + } else if (positivity === 2) { + return answers.negative[possibleAnswers]; + } else if (positivity === 3) { + return answers.veryNegative[possibleAnswers]; + } } /* @@ -59,7 +105,16 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ function checkAnswer(answer) { - //Write your code in here + //Write your code in here + if (answers.veryPositive.includes(answer)) { + return "very positive"; + } else if (answers.positive.includes(answer)) { + return "positive"; + } else if (answers.negative.includes(answer)) { + return "negative"; + } else if (answers.veryNegative.includes(answer)) { + return "very negative"; + } } /* @@ -74,45 +129,47 @@ To run these tests type `npm run extraTo run the tests for just this one file, t */ test("whole magic 8 ball sequence", () => { - const consoleLogSpy = jest.spyOn(global.console, "log"); - const answer = shakeBall(); + const consoleLogSpy = jest.spyOn(global.console, "log"); + const answer = shakeBall(); - expect(typeof answer).toEqual("string"); + expect(typeof answer).toEqual("string"); - expect(consoleLogSpy).toHaveBeenCalledTimes(1); - expect(consoleLogSpy).toHaveBeenLastCalledWith("The ball has shaken!"); + expect(consoleLogSpy).toHaveBeenCalledTimes(1); + expect(consoleLogSpy).toHaveBeenLastCalledWith("The ball has shaken!"); - expect(checkAnswer(answer)).toBeOneOf([ - "very positive", - "positive", - "negative", - "very negative", - ]); + expect(checkAnswer(answer)).toBeOneOf([ + "very positive", + "positive", + "negative", + "very negative", + ]); }); test("magic 8 ball returns different values each time", () => { - const seenAnswers = new Set(); - for (let i = 0; i < 10; ++i) { - seenAnswers.add(shakeBall()); - } - if (seenAnswers.size < 2) { - throw Error( - "Expected to get different random answers each time shakeBall was called, but always got the same one" - ); - } - - let seenPositivities = new Set(Array.from(seenAnswers.values()).map(checkAnswer)); - if (seenPositivities.size < 2) { - throw Error( - "Expected to random answers with different positivities each time shakeBall was called, but always got the same one" + const seenAnswers = new Set(); + for (let i = 0; i < 10; ++i) { + seenAnswers.add(shakeBall()); + } + if (seenAnswers.size < 2) { + throw Error( + "Expected to get different random answers each time shakeBall was called, but always got the same one" + ); + } + + let seenPositivities = new Set( + Array.from(seenAnswers.values()).map(checkAnswer) ); - } + if (seenPositivities.size < 2) { + throw Error( + "Expected to random answers with different positivities each time shakeBall was called, but always got the same one" + ); + } }); test("checkAnswer works for `It is decidedly so.`", () => { - expect(checkAnswer("It is decidedly so.")).toEqual("very positive"); + expect(checkAnswer("It is decidedly so.")).toEqual("very positive"); }); test("checkAnswer works for `My reply is no.`", () => { - expect(checkAnswer("My reply is no.")).toEqual("very negative"); -}); + expect(checkAnswer("My reply is no.")).toEqual("very negative"); +}); \ No newline at end of file diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..f50ef9dc3 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,17 @@ // There are syntax errors in this code - can you fix it to pass the tests? -function addNumbers(a b c) { - return a + b + c; +function addNumbers(a, b, c) { + return a + b + c; } -function introduceMe(name, age) - return "Hello, my name is " + name "and I am " age + "years old"; +function introduceMe(name, age) { + return "Hello, my name is " + name + " and I am " + age + " years old"; +} function getTotal(a, b) { - total = a ++ b; + total = a + b; - return "The total is total"; + return "The total is " + total; } /* @@ -26,15 +27,15 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 1-s */ test("addNumbers adds numbers correctly", () => { - expect(addNumbers(3, 4, 6)).toEqual(13); + expect(addNumbers(3, 4, 6)).toEqual(13); }); test("introduceMe function returns the correct string", () => { - expect(introduceMe("Sonjide", 27)).toEqual( - "Hello, my name is Sonjide and I am 27 years old" - ); + expect(introduceMe("Sonjide", 27)).toEqual( + "Hello, my name is Sonjide and I am 27 years old" + ); }); test("getTotal returns a string describing the total", () => { - expect(getTotal(23, 5)).toEqual("The total is 28"); -}); + expect(getTotal(23, 5)).toEqual("The total is 28"); +}); \ No newline at end of file diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..a9632a6ff 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,15 @@ // The syntax for this function is valid but it has an error, find it and fix it. function trimWord(word) { - return wordtrim(); + return word.trim(); } function getStringLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + return a * b * c; } /* @@ -25,27 +24,27 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 2-l */ test("trimWord trims leading and trailing whitespace", () => { - expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); + expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); }); test("trimWord doesn't remove whitespace in the middle of the string", () => { - expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( - "CodeYourFuture teaches coding" - ); + expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( + "CodeYourFuture teaches coding" + ); }); test("getStringLength returns the length of a word", () => { - expect(getStringLength("Turtles")).toEqual(7); + expect(getStringLength("Turtles")).toEqual(7); }); test("getStringLength returns the length of a sentence", () => { - expect(getStringLength("A wild sentence appeared!")).toEqual(25); + expect(getStringLength("A wild sentence appeared!")).toEqual(25); }); test("multiply multiplies numbers", () => { - expect(multiply(2, 3, 6)).toEqual(36); + expect(multiply(2, 3, 6)).toEqual(36); }); test("multiply multiplies different numbers", () => { - expect(multiply(2, 3, 4)).toEqual(24); -}); + expect(multiply(2, 3, 4)).toEqual(24); +}); \ No newline at end of file diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..45907a6b4 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,16 +1,21 @@ // Add comments to explain what this function does. You're meant to use Google! + +//This function creates a random number, random numbers are between 0 and 1 so multiplying it by 10 gives a random number between 0 (included) and 10 (not included) function getRandomNumber() { - return Math.random() * 10; + return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! + +//This function puts 2 words together to make one new word which will look like "word1word2" function combine2Words(word1, word2) { - return word1.concat(word2); + return word1.concat(word2); } function concatenate(firstWord, secondWord, thirdWord) { - // Write the body of this function to concatenate three words together. - // Look at the test case below to understand what this function is expected to return. + // Write the body of this function to concatenate three words together. + // Look at the test case below to understand what this function is expected to return. + return firstWord + " " + secondWord + " " + thirdWord; } /* @@ -25,13 +30,13 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 3-f */ test("concatenate example #1", () => { - expect(concatenate("code", "your", "future")).toEqual("code your future"); + expect(concatenate("code", "your", "future")).toEqual("code your future"); }); test("concatenate example #2", () => { - expect(concatenate("I", "like", "pizza")).toEqual("I like pizza"); + expect(concatenate("I", "like", "pizza")).toEqual("I like pizza"); }); test("concatenate doesn't only accept strings", () => { - expect(concatenate("I", "am", 13)).toEqual("I am 13"); -}); + expect(concatenate("I", "am", 13)).toEqual("I am 13"); +}); \ No newline at end of file diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..b73bc1448 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,9 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price + (price / 100) * 20; +} /* CURRENCY FORMATTING @@ -17,7 +19,10 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + let priceWithTax = calculateSalesTax(price); + return `£${priceWithTax.toFixed(2, 0)}`; +} /* =================================================== @@ -31,25 +36,25 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 4-t */ test("calculateSalesTax for £15", () => { - expect(calculateSalesTax(15)).toEqual(18); + expect(calculateSalesTax(15)).toEqual(18); }); test("calculateSalesTax for £17.50", () => { - expect(calculateSalesTax(17.5)).toEqual(21); + expect(calculateSalesTax(17.5)).toEqual(21); }); test("calculateSalesTax for £34", () => { - expect(calculateSalesTax(34)).toEqual(40.8); + expect(calculateSalesTax(34)).toEqual(40.8); }); test("addTaxAndFormatCurrency for £15", () => { - expect(addTaxAndFormatCurrency(15)).toEqual("£18.00"); + expect(addTaxAndFormatCurrency(15)).toEqual("£18.00"); }); test("addTaxAndFormatCurrency for £17.50", () => { - expect(addTaxAndFormatCurrency(17.5)).toEqual("£21.00"); + expect(addTaxAndFormatCurrency(17.5)).toEqual("£21.00"); }); test("addTaxAndFormatCurrency for £34", () => { - expect(addTaxAndFormatCurrency(34)).toEqual("£40.80"); -}); + expect(addTaxAndFormatCurrency(34)).toEqual("£40.80"); +}); \ No newline at end of file diff --git a/package.json b/package.json index 93e0861e3..118be12fa 100644 --- a/package.json +++ b/package.json @@ -1,34 +1,41 @@ { - "name": "javascript-core-1-coursework-week1", - "version": "1.0.0", - "description": "Exercises for JS1 Week 1", - "license": "CC-BY-SA-4.0", - "scripts": { - "test": "jest" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1.git" - }, - "bugs": { - "url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues" - }, - "jest": { - "setupFilesAfterEnv": ["jest-extended"], - "projects": [ - { - "displayName": "mandatory", - "testMatch": ["/mandatory/*.js"] - }, - { - "displayName": "extra", - "testMatch": ["/extra/*.js"] - } - ] - }, - "homepage": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1#readme", - "devDependencies": { - "jest": "^26.6.3", - "jest-extended": "^0.11.5" - } + "name": "javascript-core-1-coursework-week1", + "version": "1.0.0", + "description": "Exercises for JS1 Week 1", + "license": "CC-BY-SA-4.0", + "scripts": { + "test": "jest", + "extra-tests": "jest extra" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1.git" + }, + "bugs": { + "url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues" + }, + "jest": { + "setupFilesAfterEnv": [ + "jest-extended/all" + ], + "projects": [ + { + "displayName": "mandatory", + "testMatch": [ + "/mandatory/*.js" + ] + }, + { + "displayName": "extra", + "testMatch": [ + "/extra/*.js" + ] + } + ] + }, + "homepage": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1#readme", + "devDependencies": { + "jest": "^26.6.3", + "jest-extended": "^1.2.0" + } }