@@ -432,10 +432,39 @@ func (suite *TestSuiteEnv) TestUpdateNoEnvelopeTransactionOutgoing() {
432432 transaction := createTestTransaction (suite .T (), c )
433433
434434 recorder := test .Request (suite .T (), http .MethodPatch , transaction .Data .Links .Self , `{ "envelopeId": null }` )
435- test .AssertHTTPStatus (suite .T (), http .StatusBadRequest , & recorder )
435+ test .AssertHTTPStatus (suite .T (), http .StatusOK , & recorder )
436+ }
437+
438+ func (suite * TestSuiteEnv ) TestUpdateEnvelopeTransactionOutgoing () {
439+ envelope := createTestEnvelope (suite .T (), models.EnvelopeCreate {})
436440
437- err := test .DecodeError (suite .T (), recorder .Body .Bytes ())
438- assert .Equal (suite .T (), "For incoming and outgoing transactions, an envelope is required" , err , "request id %s" , recorder .Header ().Get ("x-request-id" ))
441+ c := models.TransactionCreate {
442+ BudgetID : createTestBudget (suite .T (), models.BudgetCreate {Name : "Testing budget for updating of outgoing transfer" }).Data .ID ,
443+ SourceAccountID : createTestAccount (suite .T (), models.AccountCreate {Name : "Internal Source Account" , External : false }).Data .ID ,
444+ DestinationAccountID : createTestAccount (suite .T (), models.AccountCreate {Name : "External destination account" , External : true }).Data .ID ,
445+ EnvelopeID : & envelope .Data .ID ,
446+ Amount : decimal .NewFromFloat (984.13 ),
447+ }
448+
449+ transaction := createTestTransaction (suite .T (), c )
450+ recorder := test .Request (suite .T (), http .MethodPatch , transaction .Data .Links .Self , fmt .Sprintf ("{ \" envelopeId\" : \" %s\" }" , & envelope .Data .ID ))
451+ test .AssertHTTPStatus (suite .T (), http .StatusOK , & recorder )
452+ }
453+
454+ func (suite * TestSuiteEnv ) TestUpdateNonExistingEnvelopeTransactionOutgoing () {
455+ envelope := createTestEnvelope (suite .T (), models.EnvelopeCreate {})
456+
457+ c := models.TransactionCreate {
458+ BudgetID : createTestBudget (suite .T (), models.BudgetCreate {Name : "Testing budget for updating of outgoing transfer" }).Data .ID ,
459+ SourceAccountID : createTestAccount (suite .T (), models.AccountCreate {Name : "Internal Source Account" , External : false }).Data .ID ,
460+ DestinationAccountID : createTestAccount (suite .T (), models.AccountCreate {Name : "External destination account" , External : true }).Data .ID ,
461+ EnvelopeID : & envelope .Data .ID ,
462+ Amount : decimal .NewFromFloat (984.13 ),
463+ }
464+
465+ transaction := createTestTransaction (suite .T (), c )
466+ recorder := test .Request (suite .T (), http .MethodPatch , transaction .Data .Links .Self , `{ "envelopeId": "e6fa8eb5-5f2c-4292-8ef9-02f0c2af1ce4" }` )
467+ test .AssertHTTPStatus (suite .T (), http .StatusNotFound , & recorder )
439468}
440469
441470func (suite * TestSuiteEnv ) TestUpdateNonExistingTransaction () {
0 commit comments