11import prisma from '../src/prisma/prisma' ;
22import { batman , wonderwoman } from './test-data/users.test-data' ;
3- import { prismaWbsElement1 } from './test-data/wbs-element.test-data' ;
3+ import { prismaWbsElement1 , prismaWbsElement2 } from './test-data/wbs-element.test-data' ;
44import { prismaChangeRequest1 } from './test-data/change-requests.test-data' ;
55import { calculateWorkPackageProgress } from '../src/utils/work-packages.utils' ;
66import {
@@ -41,18 +41,17 @@ describe('Work Packages', () => {
4141 const expectedActivities = [ 'ayo' ] ;
4242 const deliverables = [ 'ajdhjakfjafja' ] ;
4343 const stage = WorkPackageStage . Design ;
44- const createWorkPackageArgs : [
45- User ,
46- WbsNumber ,
47- string ,
48- number ,
49- WorkPackageStage ,
50- string ,
51- number ,
52- WbsNumber [ ] ,
53- string [ ] ,
54- string [ ]
55- ] = [ batman , projectWbsNum , name , crId , stage , startDate , duration , blockedBy , expectedActivities , deliverables ] ;
44+ const createWorkPackageArgs : [ User , string , number , WorkPackageStage , string , number , WbsNumber [ ] , string [ ] , string [ ] ] = [
45+ batman ,
46+ name ,
47+ crId ,
48+ stage ,
49+ startDate ,
50+ duration ,
51+ blockedBy ,
52+ expectedActivities ,
53+ deliverables
54+ ] ;
5655 /*********************************************************/
5756
5857 afterEach ( ( ) => {
@@ -73,16 +72,12 @@ describe('Work Packages', () => {
7372
7473 describe ( 'createWorkPackage' , ( ) => {
7574 test ( 'createWorkPackage fails if WBS number does not represent a project' , async ( ) => {
75+ vi . spyOn ( prisma . wBS_Element , 'findUnique' ) . mockResolvedValue ( prismaWbsElement2 ) ;
7676 vi . spyOn ( prisma . change_Request , 'findUnique' ) . mockResolvedValue ( prismaChangeRequest1 ) ;
7777
7878 const callCreateWP = async ( ) => {
7979 return await WorkPackageService . createWorkPackage (
8080 batman ,
81- {
82- carNumber : 1 ,
83- projectNumber : 2 ,
84- workPackageNumber : 2
85- } ,
8681 name ,
8782 crId ,
8883 stage ,
@@ -115,12 +110,12 @@ describe('Work Packages', () => {
115110 } ) ;
116111
117112 test ( 'createWorkPackage fails if user does not have access' , async ( ) => {
113+ vi . spyOn ( prisma . wBS_Element , 'findUnique' ) . mockResolvedValue ( prismaWbsElement2 ) ;
118114 vi . spyOn ( prisma . change_Request , 'findUnique' ) . mockResolvedValue ( prismaChangeRequest1 ) ;
119115
120116 const callCreateWP = async ( ) => {
121117 return await WorkPackageService . createWorkPackage (
122118 wonderwoman ,
123- projectWbsNum ,
124119 name ,
125120 crId ,
126121 stage ,
@@ -156,7 +151,9 @@ describe('Work Packages', () => {
156151 return await WorkPackageService . createWorkPackage . apply ( null , createWorkPackageArgs ) ;
157152 } ;
158153
159- await expect ( callCreateWP ) . rejects . toThrowError ( new NotFoundException ( 'WBS Element' , '1.2.0' ) ) ;
154+ await expect ( callCreateWP ) . rejects . toThrowError (
155+ new NotFoundException ( 'WBS Element' , prismaChangeRequest1 . wbsElementId . toString ( ) )
156+ ) ;
160157 } ) ;
161158
162159 test ( 'createWorkPackage fails if the associated wbsElem does not have a project object' , async ( ) => {
@@ -167,22 +164,24 @@ describe('Work Packages', () => {
167164 return await WorkPackageService . createWorkPackage . apply ( null , createWorkPackageArgs ) ;
168165 } ;
169166
170- await expect ( callCreateWP ) . rejects . toThrowError ( new NotFoundException ( 'WBS Element' , '1.2.0' ) ) ;
167+ await expect ( callCreateWP ) . rejects . toThrowError (
168+ new NotFoundException ( 'WBS Element' , prismaChangeRequest1 . wbsElementId . toString ( ) )
169+ ) ;
171170 } ) ;
172171
173172 test ( "fails if the blocked by include the work package's own project" , async ( ) => {
174- const argsToTest : [
175- User ,
176- WbsNumber ,
177- string ,
178- number ,
179- WorkPackageStage ,
180- string ,
181- number ,
182- WbsNumber [ ] ,
183- string [ ] ,
184- string [ ]
185- ] = [ batman , projectWbsNum , name , crId , stage , startDate , duration , [ projectWbsNum ] , expectedActivities , deliverables ] ;
173+ vi . spyOn ( prisma . wBS_Element , 'findUnique' ) . mockResolvedValueOnce ( prismaWbsElement1 ) ;
174+ const argsToTest : [ User , string , number , WorkPackageStage , string , number , WbsNumber [ ] , string [ ] , string [ ] ] = [
175+ batman ,
176+ name ,
177+ crId ,
178+ stage ,
179+ startDate ,
180+ duration ,
181+ [ projectWbsNum ] ,
182+ expectedActivities ,
183+ deliverables
184+ ] ;
186185
187186 const callCreateWP = async ( ) => {
188187 return await WorkPackageService . createWorkPackage . apply ( null , argsToTest ) ;
0 commit comments