From 79bb0953bd960780d124c8add4c9239eef161c60 Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Fri, 26 Aug 2022 15:38:30 +0200
Subject: [PATCH] fix: Method FindOne is replaced by FindOneBy

---
 api/src/experiments/experiments.service.spec.ts | 11 ++++++-----
 api/src/experiments/experiments.service.ts      |  4 ++--
 api/src/users/users.service.spec.ts             |  7 ++++---
 api/src/users/users.service.ts                  |  2 +-
 4 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/api/src/experiments/experiments.service.spec.ts b/api/src/experiments/experiments.service.spec.ts
index 4ff6cbf..3a49c68 100644
--- a/api/src/experiments/experiments.service.spec.ts
+++ b/api/src/experiments/experiments.service.spec.ts
@@ -1,7 +1,7 @@
 import { ForbiddenException, NotFoundException } from '@nestjs/common';
 import { Test, TestingModule } from '@nestjs/testing';
 import { getRepositoryToken } from '@nestjs/typeorm';
-import { User } from 'src/users/models/user.model';
+import { User } from '../users/models/user.model';
 import { Repository } from 'typeorm';
 import { Experiment } from '../engine/models/experiment/experiment.model';
 import { ExperimentsService } from './experiments.service';
@@ -9,6 +9,7 @@ import { ExperimentCreateInput } from './models/input/experiment-create.input';
 
 type MockRepository<T = any> = Partial<Record<keyof Repository<T>, jest.Mock>>;
 const createMockRepository = <T = any>(): MockRepository<T> => ({
+  findOneBy: jest.fn(),
   findOne: jest.fn(),
   findAndCount: jest.fn(),
   create: jest.fn(),
@@ -48,7 +49,7 @@ describe('ExperimentsService', () => {
         const experimentId = '1';
         const expectedExperiment = {};
 
-        experimentRepository.findOne.mockReturnValue(expectedExperiment);
+        experimentRepository.findOneBy.mockReturnValue(expectedExperiment);
         const experiment = await service.findOne(experimentId);
         expect(experiment).toEqual(expectedExperiment);
       });
@@ -64,7 +65,7 @@ describe('ExperimentsService', () => {
           id: 'dummyid',
         };
 
-        experimentRepository.findOne.mockReturnValue(expectedExperiment);
+        experimentRepository.findOneBy.mockReturnValue(expectedExperiment);
 
         try {
           await service.findOne(experimentId, user);
@@ -76,7 +77,7 @@ describe('ExperimentsService', () => {
     describe('otherwise', () => {
       it('should throw the "NotFoundException"', async () => {
         const experimentId = '1';
-        experimentRepository.findOne.mockReturnValue(undefined);
+        experimentRepository.findOneBy.mockReturnValue(undefined);
 
         try {
           await service.findOne(experimentId);
@@ -165,7 +166,7 @@ describe('ExperimentsService', () => {
 
       const updateData = { name: 'test' };
 
-      experimentRepository.findOne.mockReturnValue({
+      experimentRepository.findOneBy.mockReturnValue({
         author: {
           ...user,
         },
diff --git a/api/src/experiments/experiments.service.ts b/api/src/experiments/experiments.service.ts
index e452228..f2168ca 100644
--- a/api/src/experiments/experiments.service.ts
+++ b/api/src/experiments/experiments.service.ts
@@ -8,7 +8,7 @@ import {
   Experiment,
   ExperimentStatus,
 } from '../engine/models/experiment/experiment.model';
-import { User } from 'src/users/models/user.model';
+import { User } from '../users/models/user.model';
 import { FindManyOptions, Like, Repository } from 'typeorm';
 import { ExperimentCreateInput } from './models/input/experiment-create.input';
 import { PaginationArgsInput } from './models/input/pagination-args.input';
@@ -59,7 +59,7 @@ export class ExperimentsService {
    */
   async findOne(id: string, user: User): Promise<Experiment>;
   async findOne(id: string, user?: User): Promise<Experiment> {
-    const experiment = await this.experimentRepository.findOne(id);
+    const experiment = await this.experimentRepository.findOneBy({ id });
 
     if (!experiment) throw new NotFoundException(`Experiment #${id} not found`);
 
diff --git a/api/src/users/users.service.spec.ts b/api/src/users/users.service.spec.ts
index aaad4fb..47fa24b 100644
--- a/api/src/users/users.service.spec.ts
+++ b/api/src/users/users.service.spec.ts
@@ -10,6 +10,7 @@ type MockRepository<T = any> = Partial<Record<keyof Repository<T>, jest.Mock>>;
 
 const createMockRepository = <T = any>(): MockRepository<T> => ({
   findOne: jest.fn(),
+  findOneBy: jest.fn(),
   save: jest.fn(),
 });
 
@@ -44,7 +45,7 @@ describe('UsersService', () => {
   describe('getUser', () => {
     describe('when user exist', () => {
       it('Should return a user', async () => {
-        usersRepository.findOne.mockReturnValue(user);
+        usersRepository.findOneBy.mockReturnValue(user);
         const result = await service.findOne('idThatExist');
 
         expect(result).toStrictEqual(user);
@@ -53,7 +54,7 @@ describe('UsersService', () => {
 
     describe('otherwise', () => {
       it('Should return a NotFoundException', async () => {
-        usersRepository.findOne.mockReturnValue(undefined);
+        usersRepository.findOneBy.mockReturnValue(undefined);
 
         try {
           await service.findOne('IdThatDoesNotExist');
@@ -87,7 +88,7 @@ describe('UsersService', () => {
         agreeNDA: true,
       };
 
-      usersRepository.findOne.mockReturnValue(expectedUser);
+      usersRepository.findOneBy.mockReturnValue(expectedUser);
 
       await service.extendedUser(localUser);
 
diff --git a/api/src/users/users.service.ts b/api/src/users/users.service.ts
index 04b9510..773a770 100644
--- a/api/src/users/users.service.ts
+++ b/api/src/users/users.service.ts
@@ -24,7 +24,7 @@ export class UsersService {
    * @returns The user object.
    */
   async findOne(id: string): Promise<InternalUser> {
-    const user = await this.userRepository.findOne(id);
+    const user = await this.userRepository.findOneBy({ id });
 
     if (!user) throw new NotFoundException(`User cannot be found in database.`);
 
-- 
GitLab