|
|
@@ -4,6 +4,7 @@ import { describe, expect, it } from 'vitest';
|
|
|
import { CustomFieldConfig, CustomFields } from '../../config/custom-field/custom-field-types';
|
|
|
|
|
|
import {
|
|
|
+ addActiveAdministratorCustomFields,
|
|
|
addGraphQLCustomFields,
|
|
|
addOrderLineCustomFieldsInput,
|
|
|
addRegisterCustomerCustomFieldsInput,
|
|
|
@@ -23,6 +24,29 @@ describe('addGraphQLCustomFields()', () => {
|
|
|
expect(printSchema(result)).toMatchSnapshot();
|
|
|
});
|
|
|
|
|
|
+ // regression test for
|
|
|
+ // https://github.com/vendure-ecommerce/vendure/issues/3158
|
|
|
+ it('uses JSON scalar in UpdateActiveAdministratorInput if only internal custom fields defined on Administrator', () => {
|
|
|
+ // custom field that is internal but not readonly - should not cause
|
|
|
+ // `addActiveAdministratorCustomFields` to assume that
|
|
|
+ // `UpdateAdministratorCustomFieldsInput` exists
|
|
|
+ const customFieldConfig: Required<Pick<CustomFields, 'Administrator'>> = {
|
|
|
+ Administrator: [{ name: 'testField', type: 'string', internal: true }],
|
|
|
+ };
|
|
|
+ // `addActiveAdministratorCustomFields` should add customFields to
|
|
|
+ // UpdateActiveAdministratorInput as a JSON scalar. need to provide
|
|
|
+ // those types for that to work
|
|
|
+ const input = `
|
|
|
+ scalar JSON
|
|
|
+
|
|
|
+ input UpdateActiveAdministratorInput {
|
|
|
+ placeholder: String
|
|
|
+ }
|
|
|
+ `;
|
|
|
+ const schema = addActiveAdministratorCustomFields(input, customFieldConfig.Administrator);
|
|
|
+ expect(printSchema(schema)).toMatchSnapshot();
|
|
|
+ });
|
|
|
+
|
|
|
it('extends a type', () => {
|
|
|
const input = `
|
|
|
type Product {
|