Skip to content

Commit

Permalink
fixed a ts-jest warning/error in of of the integration tests
Browse files Browse the repository at this point in the history
also fixed eslint to properly use prettier
additionally added the new husky pre-commit changes that where done in v6.0.0
  • Loading branch information
Enubia committed Jun 11, 2021
1 parent 0f348bc commit 1dde62d
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 25 deletions.
4 changes: 2 additions & 2 deletions .eslintrc.js
@@ -1,13 +1,13 @@
module.exports = {
parser: '@typescript-eslint/parser',
plugins: ['prettier', '@typescript-eslint', 'import'],
extends: [
'plugin:@typescript-eslint/recommended',
'prettier/@typescript-eslint',
'eslint:recommended',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:prettier/recommended',
],
plugins: ['@typescript-eslint', 'import'],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand Down
1 change: 1 addition & 0 deletions .husky/.gitignore
@@ -0,0 +1 @@
_
4 changes: 4 additions & 0 deletions .husky/pre-commit
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

yarn lint-staged
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -11,7 +11,7 @@
"test-integration": "TZ=UTC jest --runInBand",
"test-integration-watch": "TZ=UTC jest --runInBand --watch",
"lint": "tsc --noEmit && eslint '*/**/*.{js,ts,tsx}'",
"lint-fix": "tsc --noEmit && eslint '*/**/*.{js,ts,tsx}' --quiet --fix",
"lint-fix": "tsc --noEmit && eslint '*/**/*.{js,ts,tsx}' --fix",
"lint-staged": "lint-staged",
"coverage": "cross-env NODE_ENV=test TZ=UTC jest --runInBand --coverage",
"coverage-ci": "npm run coverage && cat ./coverage/lcov.info | codecov",
Expand Down
4 changes: 2 additions & 2 deletions src/engine/schema/Schema.ts
Expand Up @@ -228,8 +228,8 @@ export class Schema {
entityDefaultPermissions.subscriptions =
entityDefaultPermissions.subscriptions || ({} as Permission);

const defaultPermissions = this.permissionsMap.entities
._defaultPermissions;
const defaultPermissions =
this.permissionsMap.entities._defaultPermissions;
defaultPermissions.mutations = defaultPermissions.mutations || {};
defaultPermissions.subscriptions = defaultPermissions.subscriptions || {};

Expand Down
28 changes: 17 additions & 11 deletions test/db.ts
@@ -1,33 +1,39 @@
import {
connectStorage,
disconnectStorage,
} from '../src/storage-connector/generator';
Schema,
Configuration,
Entity,
generateGraphQLSchema,
ProtocolGraphQLConfiguration,
Context,
ProtocolGraphQL,
} from '../src';
import { StorageTypePostgres } from '../src/storage-connector/StorageTypePostgres';
import StoragePostgresConfiguration from '../src/storage-connector/StoragePostgresConfiguration';
import { writeFileSync } from 'fs';
import { Schema, Configuration, Entity } from '../src';

import { Profile } from './models/Profile';
import { Message } from './models/Message';
import { BoardMember } from './models/BoardMember';
import { Book } from './models/Book';
import { DataTypeTester } from './models/DataTypeTester';
import { BoardMemberView } from './models/BoardMemberView';
import { Connection } from 'typeorm';
import { generateGraphQLSchema } from '../src/graphqlProtocol/generator';

import {
ExecutionResult,
graphql,
GraphQLResolveInfo,
GraphQLSchema,
printSchema,
Source,
} from 'graphql';
import Maybe from 'graphql/tsutils/Maybe';
import { ExecutionResultDataDefault } from 'graphql/execution/execute';
import { ProtocolGraphQLConfiguration } from '../src/graphqlProtocol/ProtocolGraphQLConfiguration';

import { formatGraphQLError } from '../src/graphqlProtocol/util';
import { Context } from '../src/engine/context/Context';

import { getMutationResolver } from '../src/graphqlProtocol/resolver';
import { ProtocolGraphQL } from '../src/graphqlProtocol/ProtocolGraphQL';

import { Website } from './models/Website';
import { WebsiteTag } from './models/WebsiteTag';

Expand Down Expand Up @@ -88,8 +94,8 @@ export const initGraphQLSchema = (): void => {
export async function testGraphql(
query: Source | string,
context?: unknown,
payload?: Maybe<{ [key: string]: unknown }>,
): Promise<ExecutionResult<ExecutionResultDataDefault>> {
payload?: { [key: string]: unknown },
): Promise<ExecutionResult> {
const result = await graphql(
graphqlSchema,
query,
Expand Down Expand Up @@ -133,7 +139,7 @@ export const mutate = async (
{},
{ input: { [typeName]: payload } },
context,
{},
{} as GraphQLResolveInfo,
);

if (entityMutation.isTypeDelete) {
Expand Down
4 changes: 2 additions & 2 deletions test/loadData.ts
Expand Up @@ -2,7 +2,7 @@ import { readRows } from './testingData';
import { Board } from './models/Board';
import { findOneByValue, testGraphql } from './db';
import { asAdmin, asUser } from './testUtils';
import { asyncForEach } from '../src/engine/util';
import { asyncForEach } from '../src';
import { formatGraphQLError, gql } from '../src/graphqlProtocol/util';

const stopOnError = (result) => {
Expand All @@ -12,7 +12,7 @@ const stopOnError = (result) => {
}
};

export const loadData = async () => {
export const loadData = async (): Promise<any> => {
const profiles = readRows('profiles');

await asyncForEach(
Expand Down
4 changes: 2 additions & 2 deletions test/models/BoardMemberView.ts
Expand Up @@ -22,10 +22,10 @@ export const BoardMemberView = new ViewEntity({
name: 'BoardMemberView',
description: 'Custom view of board members',

permissions: () => ({
permissions: {
read: readPermissions(),
find: readPermissions(),
}),
},

viewExpression: `
SELECT
Expand Down
17 changes: 12 additions & 5 deletions test/testingData.ts
@@ -1,10 +1,10 @@
import fs from 'fs';

const buildArray = (length, value = 1) => {
const buildArray = (length: number, value = 1) => {
return new Array(length).fill(value);
};

export const readRows = (fileName) => {
export const readRows = (fileName: string): string[][] => {
const filePath = `${__dirname}/data/${fileName}.csv`;
const content = fs.readFileSync(filePath, 'utf8');
return content
Expand All @@ -18,13 +18,20 @@ export const readRows = (fileName) => {
});
};

export const writeTestDataFile = (fileName, content) => {
export const writeTestDataFile = (
fileName: string,
content: string[],
): void => {
const filePath = `${__dirname}/data/${fileName}.csv`;
fs.writeFileSync(filePath, `${content.join('\n')}\n`, 'utf8');
};

export const generateRows = (count, fileName, generator) => {
const content = buildArray(count).map((item, idx) => {
export const generateRows = (
count: number,
fileName: string,
generator: (arg: number) => any[],
): void => {
const content = buildArray(count).map((_item, idx) => {
return generator(idx).join(',');
});

Expand Down

0 comments on commit 1dde62d

Please sign in to comment.