Skip to content

Commit

Permalink
chore: typed jest conf + remove version from compose file + fix typo (
Browse files Browse the repository at this point in the history
#337)

Just some chores like getting rid of this warning in terminal each time
you run e2e tests:

```shell
WARN[0000] /home/kasir/projects/nestjs-query/examples/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
```

Typed jest conf file for better dev exp when you need to modify it.

Some typos that where here an there.

BTW I also like to ask @TriPSs why he has increased the `printWidth` of
prettier to 130! I mean the recommended length is 70. So if your OK with
it I am gonna change it to 70. TBH it is really long and hard to make
sense of a lot of stuff. But I am also open to not touch it since it is
growing on me too (as of lately I feel more comfortable around it
:sweat_smile:).

One thing that bothers me though is that if I save `docker-compose.yml`
or any `JSON` conf file my IDE format it and I was thinking if possible
either override them in `.prettierrc` or decrease the `printWidth` to 70
since the only configuration that causes VSCode to format them in my
case.
  • Loading branch information
TriPSs authored Dec 15, 2024
2 parents dd94855 + 11d7558 commit c4731d0
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 27 deletions.
9 changes: 5 additions & 4 deletions documentation/docs/introduction/example.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ npx nest g cl todo-item.create.dto todo-item --flat


```ts title="todo-item/todo-item.create.dto.ts"
import { Field, InputType } from '@nestjs/graphql';
import { IsBoolean, IsString } from 'class-validator';

@InputType('CreateTodoItem')
Expand Down Expand Up @@ -453,6 +454,7 @@ import { TodoItemModule } from './todo-item/todo-item.module';
type: 'postgres',
database: 'gettingstarted',
username: 'gettingstarted',
password: 'gettingstarted',
autoLoadEntities: true,
synchronize: true,
logging: true,
Expand Down Expand Up @@ -567,17 +569,16 @@ export class AppModule {}
</TabItem>
</Tabs>

Create a `docker-compose.yml` file in the root of the project
Create a `compose.yml` file in the root of the project

```dockerfile
version: "3"

services:
postgres:
image: "postgres:11.5"
image: "postgres:17"
environment:
- "POSTGRES_USER=gettingstarted"
- "POSTGRES_DB=gettingstarted"
- "POSTGRES_PASSWORD=gettingstarted"
expose:
- "5432"
ports:
Expand Down
2 changes: 0 additions & 2 deletions examples/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3"

services:
postgres:
image: "postgres:14"
Expand Down
5 changes: 3 additions & 2 deletions jest.e2e.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* eslint-disable */
import type { Config } from 'jest'

export default {
displayName: 'examples',
preset: './jest.preset.js',
Expand All @@ -16,4 +17,4 @@ export default {
testMatch: ['**/examples/**/e2e/**/*.spec.ts'],
setupFilesAfterEnv: ['jest-extended'],
coverageDirectory: './coverage/examples'
}
} satisfies Config
26 changes: 13 additions & 13 deletions packages/query-graphql/__tests__/resolvers/crud.resolver.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import * as updateResolver from '../../src/resolvers/update.resolver'
describe('CrudResolver', () => {
const creatableSpy = jest.spyOn(createResolver, 'Creatable')
const readableSpy = jest.spyOn(readResolver, 'Readable')
const updateableSpy = jest.spyOn(updateResolver, 'Updateable')
const updatableSpy = jest.spyOn(updateResolver, 'Updatable')
const deleteResolverSpy = jest.spyOn(deleteResolver, 'DeleteResolver')

beforeEach(() => jest.clearAllMocks())
Expand Down Expand Up @@ -49,8 +49,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand All @@ -65,8 +65,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand All @@ -81,8 +81,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand All @@ -96,8 +96,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, { UpdateDTOClass: UpdateTestResolverDTO })
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, { UpdateDTOClass: UpdateTestResolverDTO })
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand All @@ -111,8 +111,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, { UpdateDTOClass: UpdateTestResolverDTO, guards: [] })
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, { UpdateDTOClass: UpdateTestResolverDTO, guards: [] })
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand All @@ -127,8 +127,8 @@ describe('CrudResolver', () => {
expect(readableSpy).toHaveBeenCalledWith(TestResolverDTO, { pagingStrategy: PagingStrategies.OFFSET })
expect(readableSpy).toHaveBeenCalledTimes(1)

expect(updateableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updateableSpy).toHaveBeenCalledTimes(1)
expect(updatableSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(updatableSpy).toHaveBeenCalledTimes(1)

expect(deleteResolverSpy).toHaveBeenCalledWith(TestResolverDTO, {})
expect(deleteResolverSpy).toHaveBeenCalledTimes(1)
Expand Down
8 changes: 4 additions & 4 deletions packages/query-graphql/src/resolvers/crud.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Referenceable, ReferenceResolverOpts } from './reference.resolver'
import { Relatable } from './relations'
import { RelatableOpts } from './relations/relations.resolver'
import { MergePagingStrategyOpts, ResolverClass } from './resolver.interface'
import { Updateable, UpdateResolver, UpdateResolverOpts } from './update.resolver'
import { Updatable, UpdateResolver, UpdateResolverOpts } from './update.resolver'

export interface CRUDResolverOpts<
DTO,
Expand Down Expand Up @@ -129,13 +129,13 @@ export const CRUDResolver = <
DTOClass: Class<DTO>,
opts: CRUDResolverOpts<DTO, C, U, R, PS> = {}
): ResolverClass<DTO, QueryService<DTO, C, U>, CRUDResolver<DTO, C, U, MergePagingStrategyOpts<DTO, R, PS>>> => {
const referencable = Referenceable(DTOClass, opts.referenceBy ?? {})
const referenceable = Referenceable(DTOClass, opts.referenceBy ?? {})
const relatable = Relatable(DTOClass, extractRelatableOpts(opts))
const aggregateable = Aggregateable(DTOClass, extractAggregateResolverOpts(opts))
const creatable = Creatable(DTOClass, extractCreateResolverOpts(opts))
const readable = Readable(DTOClass, extractReadResolverOpts(opts))
const updatable = Updateable(DTOClass, extractUpdateResolverOpts(opts))
const updatable = Updatable(DTOClass, extractUpdateResolverOpts(opts))
const deleteResolver = DeleteResolver(DTOClass, extractDeleteResolverOpts(opts))

return referencable(relatable(aggregateable(creatable(readable(updatable(deleteResolver))))))
return referenceable(relatable(aggregateable(creatable(readable(updatable(deleteResolver))))))
}
4 changes: 2 additions & 2 deletions packages/query-graphql/src/resolvers/update.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ const defaultUpdateManyInput = <DTO, U>(
* @internal
* Mixin to add `update` graphql endpoints.
*/
export const Updateable =
export const Updatable =
<DTO, U, QS extends QueryService<DTO, unknown, U>>(DTOClass: Class<DTO>, opts: UpdateResolverOpts<DTO, U>) =>
<B extends Class<ServiceResolver<DTO, QS>>>(BaseClass: B): Class<UpdateResolver<DTO, U, QS>> & B => {
const dtoNames = getDTONames(DTOClass, opts)
Expand Down Expand Up @@ -233,4 +233,4 @@ export const UpdateResolver = <
>(
DTOClass: Class<DTO>,
opts: UpdateResolverOpts<DTO, U> = {}
): ResolverClass<DTO, QS, UpdateResolver<DTO, U, QS>> => Updateable(DTOClass, opts)(BaseServiceResolver)
): ResolverClass<DTO, QS, UpdateResolver<DTO, U, QS>> => Updatable(DTOClass, opts)(BaseServiceResolver)

0 comments on commit c4731d0

Please sign in to comment.