Skip to content

Commit

Permalink
Add globalMutationTrigger to additional test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh-McFarlin committed Jun 6, 2024
1 parent 4bdd86b commit 5c94975
Showing 1 changed file with 77 additions and 28 deletions.
105 changes: 77 additions & 28 deletions packages/entity/src/__tests__/EntityMutator-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@ describe(EntityMutatorFactory, () => {
TestEntity,
keyof TestFields
> = {
afterCreate: [new TestMutationTrigger()],
afterAll: [new TestMutationTrigger()],
};

Expand Down Expand Up @@ -698,29 +699,44 @@ describe(EntityMutatorFactory, () => {
);
const queryContext = StubQueryContextProvider.getQueryContext();

const globalMutationTriggers: EntityMutationTriggerConfiguration<
TestFields,
string,
ViewerContext,
TestEntity,
keyof TestFields
> = {
afterUpdate: [new TestMutationTrigger()],
afterAll: [new TestMutationTrigger()],
};

const id1 = uuidv4();
const id2 = uuidv4();
const { mutationTriggers, entityMutatorFactory, entityLoaderFactory } =
createEntityMutatorFactory([
{
customIdField: id1,
stringField: 'huh',
testIndexedField: '3',
intField: 3,
dateField: new Date(),
nullableField: null,
},
{
customIdField: id2,
stringField: 'huh',
testIndexedField: '4',
intField: 3,
dateField: new Date(),
nullableField: null,
},
]);
createEntityMutatorFactory(
[
{
customIdField: id1,
stringField: 'huh',
testIndexedField: '3',
intField: 3,
dateField: new Date(),
nullableField: null,
},
{
customIdField: id2,
stringField: 'huh',
testIndexedField: '4',
intField: 3,
dateField: new Date(),
nullableField: null,
},
],
globalMutationTriggers
);

const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
const globalTriggerSpies = setUpMutationTriggerSpies(globalMutationTriggers);

const existingEntity = await enforceAsyncResult(
entityLoaderFactory
Expand Down Expand Up @@ -750,6 +766,17 @@ describe(EntityMutatorFactory, () => {
cascadingDeleteCause: null,
}
);

verifyTriggerCounts(
viewerContext,
globalTriggerSpies,
{},
{
type: EntityMutationType.UPDATE,
previousValue: existingEntity,
cascadingDeleteCause: null,
}
);
});

it('executes validators', async () => {
Expand Down Expand Up @@ -968,20 +995,35 @@ describe(EntityMutatorFactory, () => {
);
const queryContext = StubQueryContextProvider.getQueryContext();

const globalMutationTriggers: EntityMutationTriggerConfiguration<
TestFields,
string,
ViewerContext,
TestEntity,
keyof TestFields
> = {
afterDelete: [new TestMutationTrigger()],
afterAll: [new TestMutationTrigger()],
};

const id1 = uuidv4();
const { mutationTriggers, entityMutatorFactory, entityLoaderFactory } =
createEntityMutatorFactory([
{
customIdField: id1,
stringField: 'huh',
testIndexedField: '3',
intField: 3,
dateField: new Date(),
nullableField: null,
},
]);
createEntityMutatorFactory(
[
{
customIdField: id1,
stringField: 'huh',
testIndexedField: '3',
intField: 3,
dateField: new Date(),
nullableField: null,
},
],
globalMutationTriggers
);

const triggerSpies = setUpMutationTriggerSpies(mutationTriggers);
const globalTriggerSpies = setUpMutationTriggerSpies(globalMutationTriggers);

const existingEntity = await enforceAsyncResult(
entityLoaderFactory
Expand All @@ -1004,6 +1046,13 @@ describe(EntityMutatorFactory, () => {
},
{ type: EntityMutationType.DELETE, cascadingDeleteCause: null }
);

verifyTriggerCounts(
viewerContext,
globalTriggerSpies,
{},
{ type: EntityMutationType.DELETE, cascadingDeleteCause: null }
);
});

it('does not execute validators', async () => {
Expand Down

0 comments on commit 5c94975

Please sign in to comment.