@@ -50,23 +50,21 @@ describe('LetterRepository', () => {
5050 await db . container . stop ( ) ;
5151 } ) ;
5252
53+ async function checkLetterExists ( supplierId : string , letterId : string ) {
54+ const letter = await letterRepository . getLetterById ( supplierId , letterId ) ;
55+ expect ( letter ) . toBeDefined ( ) ;
56+ expect ( letter . id ) . toBe ( letterId ) ;
57+ expect ( letter . supplierId ) . toBe ( supplierId ) ;
58+ }
59+
5360 async function checkLetterStatus ( supplierId : string , letterId : string , status : Letter [ 'status' ] ) {
5461 const letter = await letterRepository . getLetterById ( supplierId , letterId ) ;
5562 expect ( letter . status ) . toBe ( status ) ;
5663 }
5764
5865 test ( 'adds a letter to the database' , async ( ) => {
59- const supplierId = 'supplier1' ;
60- const letterId = 'letter1' ;
61-
62- await letterRepository . putLetter ( createLetter ( supplierId , letterId ) ) ;
63-
64- const letter = await letterRepository . getLetterById ( supplierId , letterId ) ;
65- expect ( letter ) . toBeDefined ( ) ;
66- expect ( letter . id ) . toBe ( letterId ) ;
67- expect ( letter . supplierId ) . toBe ( supplierId ) ;
68- expect ( letter . reasonCode ) . toBeUndefined ( ) ;
69- expect ( letter . reasonText ) . toBeUndefined ( ) ;
66+ await letterRepository . putLetter ( createLetter ( 'supplier1' , 'letter1' ) ) ;
67+ await checkLetterExists ( 'supplier1' , 'letter1' ) ;
7068 } ) ;
7169
7270 test ( 'fetches a letter by id' , async ( ) => {
@@ -102,16 +100,11 @@ describe('LetterRepository', () => {
102100 } ) ;
103101
104102 test ( 'updates a letter\'s status in the database' , async ( ) => {
105- const letter = createLetter ( 'supplier1' , 'letter1' , 'PENDING' ) ;
106- await letterRepository . putLetter ( letter ) ;
103+ await letterRepository . putLetter ( createLetter ( 'supplier1' , 'letter1' , 'PENDING' ) ) ;
107104 await checkLetterStatus ( 'supplier1' , 'letter1' , 'PENDING' ) ;
108105
109- await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'REJECTED' , 1 , "Reason text" ) ;
110-
111- const updatedLetter = await letterRepository . getLetterById ( 'supplier1' , 'letter1' ) ;
112- expect ( updatedLetter . status ) . toBe ( 'REJECTED' ) ;
113- expect ( updatedLetter . reasonCode ) . toBe ( 1 ) ;
114- expect ( updatedLetter . reasonText ) . toBe ( 'Reason text' ) ;
106+ await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) ;
107+ await checkLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) ;
115108 } ) ;
116109
117110 test ( 'updates a letter\'s updatedAt date' , async ( ) => {
@@ -124,13 +117,13 @@ describe('LetterRepository', () => {
124117 // Month is zero-indexed in JavaScript Date
125118 // Day is one-indexed
126119 jest . setSystemTime ( new Date ( 2020 , 1 , 2 ) ) ;
127- await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' , undefined , undefined ) ;
120+ await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) ;
128121 const updatedLetter = await letterRepository . getLetterById ( 'supplier1' , 'letter1' ) ;
129122 expect ( updatedLetter . updatedAt ) . toBe ( '2020-02-02T00:00:00.000Z' ) ;
130123 } ) ;
131124
132125 test ( 'can\'t update a letter that does not exist' , async ( ) => {
133- await expect ( letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' , undefined , undefined ) )
126+ await expect ( letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) )
134127 . rejects . toThrow ( 'Letter with id letter1 not found for supplier supplier1' ) ;
135128 } ) ;
136129
@@ -139,7 +132,7 @@ describe('LetterRepository', () => {
139132 ...db . config ,
140133 lettersTableName : 'nonexistent-table'
141134 } ) ;
142- await expect ( misconfiguredRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' , undefined , undefined ) )
135+ await expect ( misconfiguredRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) )
143136 . rejects . toThrow ( 'Cannot do operations on a non-existent table' ) ;
144137 } ) ;
145138
@@ -164,7 +157,7 @@ describe('LetterRepository', () => {
164157 const pendingLetters = await letterRepository . getLettersByStatus ( 'supplier1' , 'PENDING' ) ;
165158 expect ( pendingLetters . letters ) . toHaveLength ( 2 ) ;
166159
167- await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' , undefined , undefined ) ;
160+ await letterRepository . updateLetterStatus ( 'supplier1' , 'letter1' , 'DELIVERED' ) ;
168161 const remainingLetters = await letterRepository . getLettersByStatus ( 'supplier1' , 'PENDING' ) ;
169162 expect ( remainingLetters . letters ) . toHaveLength ( 1 ) ;
170163 expect ( remainingLetters . letters [ 0 ] . id ) . toBe ( 'letter2' ) ;
0 commit comments