From 274138f018486575a15f9c0f363bc484ce11d2a6 Mon Sep 17 00:00:00 2001 From: Daniel Haarhoff Date: Tue, 18 Jun 2024 08:48:57 +0100 Subject: [PATCH] Write a failing test for existing owners #25 --- .../members/get-potential-owners.test.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/read-models/members/get-potential-owners.test.ts b/tests/read-models/members/get-potential-owners.test.ts index 34ee9b5b..9698779e 100644 --- a/tests/read-models/members/get-potential-owners.test.ts +++ b/tests/read-models/members/get-potential-owners.test.ts @@ -1,6 +1,34 @@ +import {faker} from '@faker-js/faker'; +import * as O from 'fp-ts/Option'; +import {getPotentialOwners} from '../../../src/read-models/members/getPotentialOwners'; +import {TestFramework, initTestFramework} from '../test-framework'; +import {EmailAddress} from '../../../src/types'; + describe('getPotentialOwners', () => { + let framework: TestFramework; + beforeEach(async () => { + framework = await initTestFramework(); + }); + + let result: ReturnType; describe('when a member is already an owner of the area', () => { - it.todo('includes them in the existing owners'); + const linkNumber = { + email: faker.internet.email() as EmailAddress, + memberNumber: faker.number.int(), + }; + const addName = { + name: faker.person.fullName(), + memberNumber: linkNumber.memberNumber, + }; + beforeEach(async () => { + await framework.commands.memberNumbers.linkNumberToEmail(linkNumber); + await framework.commands.members.editName(addName); + }); + + it.failing('includes them in the existing owners', () => { + expect(result.existing[0].number).toStrictEqual(linkNumber.memberNumber); + expect(result.existing[0].name).toStrictEqual(O.some(addName.name)); + }); }); describe('when a member is an owner of another area', () => {