Files
server/test/Api.Test/AdminConsole/Controllers/ProviderUsersControllerTests.cs
Thomas Rittson bb5506e934 [PM-34595] Update provider controllers to use authz attribute (#7450)
* Also decouple ProviderClientsController from Billing Team code

* Also add noop authorize attribute where no additional
  authorization is required

* Also remove unused ICurrentContext getters
2026-04-17 07:49:49 +10:00

51 lines
1.8 KiB
C#

using Bit.Api.AdminConsole.Controllers;
using Bit.Core.AdminConsole.Entities.Provider;
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Exceptions;
using Bit.Test.Common.AutoFixture;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;
using NSubstitute.ReturnsExtensions;
using Xunit;
namespace Bit.Api.Test.AdminConsole.Controllers;
[ControllerCustomize(typeof(ProviderUsersController))]
[SutProviderCustomize]
public class ProviderUsersControllerTests
{
[Theory]
[BitAutoData]
public async Task Get_ProviderUserNotFound_ThrowsNotFound(Guid providerId, Guid id,
SutProvider<ProviderUsersController> sutProvider)
{
sutProvider.GetDependency<IProviderUserRepository>().GetByIdAsync(id).ReturnsNull();
await Assert.ThrowsAsync<NotFoundException>(() => sutProvider.Sut.Get(providerId, id));
}
[Theory]
[BitAutoData]
public async Task Get_ProviderIdMismatch_ThrowsNotFound(Guid providerId, ProviderUser providerUser,
SutProvider<ProviderUsersController> sutProvider)
{
sutProvider.GetDependency<IProviderUserRepository>().GetByIdAsync(providerUser.Id).Returns(providerUser);
await Assert.ThrowsAsync<NotFoundException>(() => sutProvider.Sut.Get(providerId, providerUser.Id));
}
[Theory]
[BitAutoData]
public async Task Get_Success(ProviderUser providerUser,
SutProvider<ProviderUsersController> sutProvider)
{
// Permissions must be valid JSON for ProviderUserResponseModel constructor
providerUser.Permissions = null;
sutProvider.GetDependency<IProviderUserRepository>().GetByIdAsync(providerUser.Id).Returns(providerUser);
var result = await sutProvider.Sut.Get(providerUser.ProviderId, providerUser.Id);
Assert.Equal(providerUser.Id, result.Id);
}
}