Skip to content

Instantly share code, notes, and snippets.

@PCreations
Created April 8, 2021 07:53
Show Gist options
  • Save PCreations/a37fbd149487a533d61ef65d72c07598 to your computer and use it in GitHub Desktop.
Save PCreations/a37fbd149487a533d61ef65d72c07598 to your computer and use it in GitHub Desktop.
import { saveStudentsMeanGrade } from '../saveStudentsMeanGrade';
import { saveStudents } from '../../infra/database/saveStudents';
jest.mock('../../infra/database/saveStudents');
describe('saveStudentsMeanGrade', () => {
it('correctly update students mean grade', async () => {
// arrange
let savedStudentsMeans;
saveStudents.mockImplementation(studentsMeans => {
savedStudentsMeans = studentMeans;
return Promise.resolve();
});
const students = [
{
name: 'Paul',
grades: [10, 15.5, 8, 12],
},
{
name: 'Sophie',
grades: [18, 16, 9.5],
},
{
name: 'Julie',
grades: [5.75, 10, 11.5, 8, 14],
},
];
// act
await saveStudentsMeanGrade(students);
// assert
expect(savedStudentsMeans).toEqual([
{
name: 'Paul',
mean: 11.375,
},
{
name: 'Sophie',
mean: 14.5,
},
{
name: 'Julie',
mean: 9.85,
},
]);
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment