@@ -157,6 +157,12 @@ func (s *workflowIntegrationTestSuite) TestUpdate() {
157157 workflow , err := s .Workflow .Create (ctx , & biz.WorkflowCreateOpts {Name : name , OrgID : s .org .ID })
158158 require .NoError (s .T (), err )
159159
160+ // Create two contracts in two different orgs
161+ contract1 , err := s .WorkflowContract .Create (ctx , & biz.WorkflowContractCreateOpts {Name : "contract-1" , OrgID : s .org .ID })
162+ require .NoError (s .T (), err )
163+ contract2 , err := s .WorkflowContract .Create (ctx , & biz.WorkflowContractCreateOpts {Name : "contract-2" , OrgID : org2 .ID })
164+ require .NoError (s .T (), err )
165+
160166 s .Run ("by default the workflow is private" , func () {
161167 s .False (workflow .Public )
162168 })
@@ -238,6 +244,16 @@ func (s *workflowIntegrationTestSuite) TestUpdate() {
238244 updates : & biz.WorkflowUpdateOpts {Name : toPtrS ("" )},
239245 wantErr : true ,
240246 },
247+ {
248+ name : "can update contract" ,
249+ updates : & biz.WorkflowUpdateOpts {ContractID : toPtrS (contract1 .ID .String ())},
250+ want : & biz.Workflow {Description : description , Team : team , Project : project , ContractID : contract2 .ID },
251+ },
252+ {
253+ name : "can not update contract in another org" ,
254+ updates : & biz.WorkflowUpdateOpts {ContractID : toPtrS (contract2 .ID .String ())},
255+ wantErr : true ,
256+ },
241257 {
242258 name : "but other opts can" ,
243259 updates : & biz.WorkflowUpdateOpts {Team : toPtrS ("" ), Project : toPtrS ("" ), Description : toPtrS ("" )},
0 commit comments