From 53f5b97afdb5aa5f8ee510e80a22bc6fb1b0bce9 Mon Sep 17 00:00:00 2001 From: Katalina Okano Date: Sat, 13 Mar 2021 04:15:29 -0500 Subject: [PATCH] chore: add roleTransactions tests --- .../web/src/utils/roleTransactions.spec.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/web/src/utils/roleTransactions.spec.ts b/packages/web/src/utils/roleTransactions.spec.ts index e69de29..6c17663 100644 --- a/packages/web/src/utils/roleTransactions.spec.ts +++ b/packages/web/src/utils/roleTransactions.spec.ts @@ -0,0 +1,25 @@ +import { RoleTransaction, TransactionType } from '@roleypoly/types'; +import { makeRoleTransactions } from './roleTransactions'; + +it('creates a transactional diff of two sets of roles', () => { + const currentRoles = ['aaa', 'bbb', 'ccc', 'ddd']; + const nextRoles = ['bbb', 'ccc', 'ddd', 'eee', 'fff']; // removes aaa, adds eee + fff + + const transactions = makeRoleTransactions(currentRoles, nextRoles); + expect(transactions).toEqual( + expect.arrayContaining([ + { + id: 'aaa', + action: TransactionType.Remove, + }, + { + id: 'fff', + action: TransactionType.Add, + }, + { + id: 'eee', + action: TransactionType.Add, + }, + ]) + ); +});