Having compatibility issues between Primsa 2 and NestJS when running spec tests

Recently, I've been experimenting with NestJS and integrating it with Prisma 2. One particular challenge I'm facing revolves around testing. All my failed tests seem to be related to the entity object not being recognized in the PrismaService. Each failed test follows a similar pattern, like this one below but potentially involving a different entity type:

src/user/user.service.ts:25:24 - error TS2339: Property 'user' does not exist on type 'PrismaService'.

    25     return this.prisma.user.findUnique({ where: userWhereUniqueInput });

These tests are standard ones generated by the Nest CLI for resources. My PrismaService is essentially a class that extends PrismaClient and overrides certain methods such as the shutdown hook method and init/destroy lifecycle methods, similar to what nestJS demonstrates in their Prisma 2 example. Could this issue be attributed to a module import/export discrepancy or perhaps a compatibility conflict between prisma/nestjs/jest? All my modules are correctly importing required dependencies and exporting services/providers, so I am puzzled as to what could be causing this issue unless some pre-testing setup is necessary.

Answer №1

After investigating, I discovered that the reason for my test suite failures was due to not importing the PrismaModule. Another factor causing these issues was the use of absolute paths (/src/prisma/prisma.module) when importing the PrismaService instead of using relative paths (../prisma/prisma.module)

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Set the reactive forms to mark all controls within the form group as dirty

My Angular 6 application has a form with the following example code: export class SampleComponent implements OnInit { form: FormGroup; constructor(private fb: FormBuilder) { } ngOnInit() { this.form = new FormGroup({ firs ...

Having trouble setting up mongodb-memory-server 8 to work with jest

I am currently working on integrating the latest version of mongodb-memory-server with jest on a node express server. While following the guide provided in the mongodb-memory-server documentation (), I encountered some gaps that I am struggling to fill in. ...

What is the best way to reproduce the appearance of a div from a web page when printing using typescript in Angular 4?

Whenever I try to print a div from the webpage, the elements of the div end up on the side of the print tab instead. How can I fix this issue? Below is my current print function: print(): void { let printContents, popupWin; printContents = document.getEl ...

I'm curious as to why my form data is being transmitted as application/json during my POST request, and what is causing it to generate a Bad Request error?

When adding a hotel to the database using react-hook-form, I include images as part of the form input. After submitting the form, the data is converted into FormData and then sent to the API for processing. The conversion and submission of the form take p ...

Determine in React whether a JSX Element is a descendant of a specific class

I am currently working with TypeScript and need to determine if a JSX.Element instance is a subclass of another React component. For instance, if I have a Vehicle component and a Car component that extends it, then when given a JSX.Element generated from ...

How can I insert an array of string elements into a template element's value attribute in Angular 2?

Inside my Angular 2 component class, I have an array named myArray: @Component({ templateUrl: 'my.component.html' }) export class MyComponent { private myArray: Array<string>; ... } The corresponding HTML file my.component.ht ...

How to Transfer Deleted List Items from one Unordered List to another in Angular 9 using Event Binding

Greetings to all =) I've recently delved into Angular 9 and I'm really enjoying the component-based approach. To sharpen my skills in property and event binding, I embarked on a project involving building a deck with two lists. English isn't ...

Testing for target instanceof window.Window in jest involves writing a test case using the expect keyword

I am currently working on a function in TypeScript that handles scrolling. Here is the code snippet with type definitions for reference... function scroll(target: HTMLElement, {posX, posY}: ScrollPosition): void { if (target instanceof window.Window) ...

Identify the Type of a Field in a Typescript Union

I am facing an issue with a union type in my code: type Option1 = { items: string[]; } type Option2 = { delete: true; } type Combined = Option1 | Option2; My goal is to create a new variable that has the same type as the items field: const items_v ...

Utilizing PropTypes in React with TypeScript

I've encountered issues while trying to integrate PropTypes with Typescript: Previously, without typescript, I had successfully used: class TodoFilterItem extends Component { constructor (props) { super(props); Followed by: TodoFilterItem.prop ...

Exploring the power of Typescript and Map in Node.js applications

I am feeling a little perplexed about implementing Map in my nodejs project. In order to utilize Map, I need to change the compile target to ES6. However, doing so results in outputted js files that contain ES6 imports which causes issues with node. Is t ...

Can someone explain how to showcase a collection attribute in Angular?

I am working with a collection of objects called "ELEMENT_DATA". Each object in the collection has an attribute named "Activite", which is also a collection. My goal is to display this attribute in a specific way. Below is my app.component.ts: export cla ...

Iterating through a for loop in Angular2 to send multiple GET requests to a Django backend

Currently, I'm facing a challenge with performing multiple GET requests using Angular2 within a Django/Python environment. After successfully making an API request and retrieving a list of users to determine the current user's ID, I utilize a .f ...

Using vue-class-component: A guide on creating and setting up reactive data

I am currently working with Vue.js using TypeScript and vue-class-component. My goal is to create a custom component with reactive data. Below is the code I have so far: <template> <div> <input v-model="data.name" placeholder=" ...

Changing dates in JavaScript / TypeScript can result in inaccurate dates being displayed after adding days

Recently, I encountered an issue with a simple code snippet that seems to produce inconsistent results. Take a look at the function below: addDays(date: Date, days: number): Date { console.log('adding ' + days + ' days'); con ...

Issue with TypeScript in VSCode: "Unable to save file 'x' as it would overwrite the input file."

As I work on improving my JavaScript quality with TypeScript in VSCode, I’m encountering an issue with my tsconfig.json file. It keeps throwing errors when trying to write my .js files, specifically displaying the message: "Cannot write file 'lib/c ...

Unable to display surface chart using Plotly in Angular 12

I've been attempting to display a 3D model using Plotly (https://github.com/plotly/angular-plotly.js/blob/master/README.md), but unfortunately, the chart is not appearing. component.component.ts import { Component } from '@angular/core'; @ ...

Tips for obtaining a subset of `keyof T` where the value, T[K], refers to callable functions in Typescript

Is there a way to filter keyof T based on the type of T[keyof T]? This is how it should function: type KeyOfType<T, U> = ... KeyOfType<{a: 1, b: '', c: 0, d: () => 1}, number> === 'a' | 'c' KeyOfType<{a: ...

What causes the lack of impact on lambda rendering speed despite integrating webpack?

Hey there, I've been working on implementing webpack for a project that involves microservices, Node.js, TypeScript, AWS, and AWS SAM. My main objectives are: Reduce the cold start time of lambda functions. Minimize security vulnerabilities by e ...

Is there a way to access the callback function's arguments and its return value from outside the function?

Is it possible to access both the callback function argument and the return value of a function that takes a callback function as an argument, outside of the function? Consider the following example with a function called func_a. function func_a(callback: ...