fixes breaking GraphQLDate within resolvers due to JSON.stringify

This commit is contained in:
James
2020-08-14 12:33:42 -04:00
parent 2a2494366b
commit 85bf65e40e
4 changed files with 17 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
import React, { useMemo, useState, useEffect } from 'react';
import React, { useMemo, useCallback } from 'react';
import PropTypes from 'prop-types';
import { createEditor } from 'slate';
import { withHistory } from 'slate-history';
@@ -15,7 +15,6 @@ import {
ListPlugin,
ParagraphPlugin,
pipe,
ExitBreakPlugin,
SoftBreakPlugin,
StrikethroughPlugin,
UnderlinePlugin,
@@ -87,10 +86,15 @@ const RichText = (props) => {
const path = pathFromProps || name;
const memoizedValidate = useCallback((value) => {
const validationResult = validate(value, { required });
return validationResult;
}, [validate, required]);
const fieldType = useFieldType({
path,
required,
validate,
validate: memoizedValidate,
});
const {
@@ -128,7 +132,7 @@ const RichText = (props) => {
<Slate
editor={editor}
value={value ?? emptyRichTextNode}
onChange={val => setValue(val)}
onChange={(val) => setValue(val)}
>
<CommandToolbar enabledPluginList={plugins} />

View File

@@ -5,7 +5,6 @@ const {
GraphQLNonNull,
GraphQLInt,
} = require('graphql');
const GraphQLDate = require('graphql-date');
const formatName = require('../../graphql/utilities/formatName');
@@ -62,11 +61,11 @@ function registerCollections() {
if (timestamps) {
baseFields.createdAt = {
type: new GraphQLNonNull(GraphQLDate),
type: new GraphQLNonNull(GraphQLString),
};
baseFields.updatedAt = {
type: new GraphQLNonNull(GraphQLDate),
type: new GraphQLNonNull(GraphQLString),
};
whereInputFields.push({

View File

@@ -55,9 +55,11 @@ describe('GrahpQL Resolvers', () => {
expect(data.title).toBe(title);
expect(data.id).toStrictEqual(expect.any(String));
const timestampRegex = /^(\d{4})(?:-?W(\d+)(?:-?(\d+)D?)?|(?:-(\d+))?-(\d+))(?:[T ](\d+):(\d+)(?::(\d+)(?:\.(\d+))?)?)?(?:Z(-?\d*))?$/;
expect(data.createdAt).toStrictEqual(expect.stringMatching(timestampRegex));
expect(data.updatedAt).toStrictEqual(expect.stringMatching(timestampRegex));
// const timestampRegex = /^(\d{4})(?:-?W(\d+)(?:-?(\d+)D?)?|(?:-(\d+))?-(\d+))(?:[T ](\d+):(\d+)(?::(\d+)(?:\.(\d+))?)?)?(?:Z(-?\d*))?$/;
// expect(data.createdAt).toStrictEqual(expect.stringMatching(timestampRegex));
// expect(data.updatedAt).toStrictEqual(expect.stringMatching(timestampRegex));
expect(data.createdAt).toStrictEqual(expect.any(String));
expect(data.updatedAt).toStrictEqual(expect.any(String));
});
});
@@ -162,5 +164,4 @@ describe('GrahpQL Resolvers', () => {
expect(deletedId).toStrictEqual(id);
});
});
});

View File

@@ -162,8 +162,8 @@ async function create(args) {
// 9. Return results
// /////////////////////////////////////
result = JSON.stringify(result);
result = JSON.parse(result);
// result = JSON.stringify(result);
// result = JSON.parse(result);
return result;
}