Question: Question ******************************************************************************* * Problem 01 Part 1: use a for-loop to iterate over Arrays * * Writing function named `observationSummary(data)` that loops over every *

Question

*******************************************************************************

* Problem 01 Part 1: use a for-loop to iterate over Arrays

*

* Writing function named `observationSummary(data)` that loops over every

* observation Object in the results array, and calls `console.log()`, passing

* it a formatted String that looks like this:

*

* "#67868131 - Muskrat (2021-01-10)"

*

* The formatted String above is made up of the following observation properties:

*

* - id

* - species_guess

* - observed_on_details and date

*

* In your solution, make use of a for-loop to iterate over the items in users

*

* Your function shouldn't return anything, just call console.log()

******************************************************************************/

function observationSummary(data) {

}

test output:

const data = require('./data');

const { results } = data;

const { observationSummary, observationSummary2 } = require('./observations');

describe('Problem 01 Part 1 - observationSummary() function with for loop', function () {

const originalLog = console.log;

afterEach(() => {

console.log = originalLog;

});

test('observationSummary() should call console.log() once per case', function () {

let called = 0;

const mockedLog = () => (called += 1);

console.log = mockedLog;

observationSummary(data);

expect(called).toBe(results.length);

});

test('observationSummary() should log correct format of all cases', function () {

let consoleOutput = [];

const mockedLog = (output) => consoleOutput.push(output);

console.log = mockedLog;

observationSummary(data);

consoleOutput.forEach((output) =>

expect(output).toEqual(

// We expect a string like "#67868131 - Muskrat (2021-01-10)"

expect.stringMatching(/^#d+ - .+ (d{4}-d{2}-d{2})$/i)

)

);

});

});

describe('Problem 01 Part 2 - observationSummary2() function with for loop', function () {

const originalLog = console.log;

afterEach(() => {

console.log = originalLog;

});

test('observationSummary2() should call console.log() once per case', function () {

let called = 0;

const mockedLog = () => (called += 1);

console.log = mockedLog;

observationSummary2(data);

expect(called).toBe(results.length);

});

test('observationSummary2() should log correct format of all cases', function () {

let consoleOutput = [];

const mockedLog = (output) => consoleOutput.push(output);

console.log = mockedLog;

observationSummary2(data);

consoleOutput.forEach((output) =>

expect(output).toEqual(

// We expect a string like "#67868131 - Muskrat (2021-01-10)"

expect.stringMatching(/^#d+ - .+ (d{4}-d{2}-d{2})$/i)

)

);

});

});

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!