@@ -144,4 +144,75 @@ public async Task Create_WithValidationError_Returns400(
144144 var badRequestResult = Assert . IsType < BadRequest < Bit . Core . Models . Api . ErrorResponseModel > > ( result ) ;
145145 Assert . NotNull ( badRequestResult . Value ) ;
146146 }
147+
148+ [ Theory , BitAutoData ]
149+ public async Task Update_WithValidInput_ReturnsOk (
150+ Guid orgId ,
151+ OrganizationInviteLink inviteLink ,
152+ SutProvider < OrganizationInviteLinksController > sutProvider )
153+ {
154+ inviteLink . OrganizationId = orgId ;
155+ inviteLink . AllowedDomains = "[\" acme.com\" ]" ;
156+
157+ var model = new UpdateOrganizationInviteLinkRequestModel
158+ {
159+ AllowedDomains = [ "acme.com" ] ,
160+ } ;
161+
162+ sutProvider . GetDependency < IUpdateOrganizationInviteLinkCommand > ( )
163+ . UpdateAsync ( Arg . Any < UpdateOrganizationInviteLinkRequest > ( ) )
164+ . Returns ( new CommandResult < OrganizationInviteLink > ( inviteLink ) ) ;
165+
166+ var result = await sutProvider . Sut . Update ( orgId , model ) ;
167+
168+ var okResult = Assert . IsType < Ok < OrganizationInviteLinkResponseModel > > ( result ) ;
169+ Assert . NotNull ( okResult . Value ) ;
170+ Assert . Equal ( inviteLink . Id , okResult . Value . Id ) ;
171+ Assert . Equal ( orgId , okResult . Value . OrganizationId ) ;
172+
173+ await sutProvider . GetDependency < IUpdateOrganizationInviteLinkCommand > ( )
174+ . Received ( 1 )
175+ . UpdateAsync ( Arg . Is < UpdateOrganizationInviteLinkRequest > ( r =>
176+ r . OrganizationId == orgId ) ) ;
177+ }
178+
179+ [ Theory , BitAutoData ]
180+ public async Task Update_WhenNoLinkExists_ReturnsNotFound (
181+ Guid orgId ,
182+ SutProvider < OrganizationInviteLinksController > sutProvider )
183+ {
184+ var model = new UpdateOrganizationInviteLinkRequestModel
185+ {
186+ AllowedDomains = [ "acme.com" ] ,
187+ } ;
188+
189+ sutProvider . GetDependency < IUpdateOrganizationInviteLinkCommand > ( )
190+ . UpdateAsync ( Arg . Any < UpdateOrganizationInviteLinkRequest > ( ) )
191+ . Returns ( new CommandResult < OrganizationInviteLink > ( new InviteLinkNotFound ( ) ) ) ;
192+
193+ var result = await sutProvider . Sut . Update ( orgId , model ) ;
194+
195+ var notFoundResult = Assert . IsType < NotFound < Bit . Core . Models . Api . ErrorResponseModel > > ( result ) ;
196+ Assert . NotNull ( notFoundResult . Value ) ;
197+ }
198+
199+ [ Theory , BitAutoData ]
200+ public async Task Update_WithValidationError_Returns400 (
201+ Guid orgId ,
202+ SutProvider < OrganizationInviteLinksController > sutProvider )
203+ {
204+ var model = new UpdateOrganizationInviteLinkRequestModel
205+ {
206+ AllowedDomains = [ ] ,
207+ } ;
208+
209+ sutProvider . GetDependency < IUpdateOrganizationInviteLinkCommand > ( )
210+ . UpdateAsync ( Arg . Any < UpdateOrganizationInviteLinkRequest > ( ) )
211+ . Returns ( new CommandResult < OrganizationInviteLink > ( new InviteLinkDomainsRequired ( ) ) ) ;
212+
213+ var result = await sutProvider . Sut . Update ( orgId , model ) ;
214+
215+ var badRequestResult = Assert . IsType < BadRequest < Bit . Core . Models . Api . ErrorResponseModel > > ( result ) ;
216+ Assert . NotNull ( badRequestResult . Value ) ;
217+ }
147218}
0 commit comments