feat: initial commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using Strata.Analytics.Biz.Extracts.Models;
|
||||
using Strata.Analytics.Biz.Extracts.Services;
|
||||
using Strata.Analytics.Test.Unit.Biz.TestData;
|
||||
using Strata.CoreLib.Claims.Extensions;
|
||||
using Strata.Testing.Categories;
|
||||
|
||||
namespace Strata.Analytics.Test.Unit.Biz.Extracts
|
||||
{
|
||||
[NUnit.Framework.Category(TestCategory.Unit)]
|
||||
[Parallelizable(ParallelScope.Self)]
|
||||
public class ExtractCreateTest
|
||||
{
|
||||
|
||||
[Test]
|
||||
public async Task Extract_CurrentUserAssignedAsEditor_GivenUserIsNotStrata()
|
||||
{
|
||||
// arrange
|
||||
var claimsPrincipal = IClaimsPrincipalAccessorMock.GetClaimsPrincipalAccessor();
|
||||
var dbContext = AnalyticsDbContextMock.GetAnalyticsDbContext(claimsPrincipal);
|
||||
var extractService = new ExtractService(dbContext, claimsPrincipal, AutoMapperMock.GetAutoMapper());
|
||||
|
||||
// act
|
||||
var extract = await extractService.CreateAsync(new ExtractCreateInfo()
|
||||
{
|
||||
Name = "Extract1",
|
||||
Content = "{\"dataSourceId\":1,\"rows\":[],\"columnGroups\":[{\"groupId\":\"ABCD1\",\"values\":[],\"dimensions\":[],\"sortOrder\":0}],\"filters\":[],\"queryConfig\":{\"rows\":[],\"values\":[],\"filterGroups\":[],\"withTotals\":false,\"rowLimit\":25}}"
|
||||
}, CancellationToken.None);
|
||||
|
||||
// assert
|
||||
extract.CreatedByUserGuid.Should().Be(claimsPrincipal.GetUserGuid());
|
||||
extract.CurrentUserRole.Should().Be(ExtractRole.Editor);
|
||||
dbContext.ExtractRoleAssignments.Should().HaveCount(1);
|
||||
dbContext.ExtractRoleAssignments.FirstOrDefault().IdentityGuid.Should().Be(claimsPrincipal.GetUserGuid());
|
||||
dbContext.ExtractRoleAssignments.FirstOrDefault().Role.Should().Be(ExtractRole.Editor);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Extract_CurrentUserAssignedAsEditorButNoRoleAssignmentsCreated_GivenUserIsStrata()
|
||||
{
|
||||
// arrange
|
||||
var claimsPrincipal = IClaimsPrincipalAccessorMock.GetClaimsPrincipalAccessor(5, true);
|
||||
var dbContext = AnalyticsDbContextMock.GetAnalyticsDbContext(claimsPrincipal);
|
||||
var extractService = new ExtractService(dbContext, claimsPrincipal, AutoMapperMock.GetAutoMapper());
|
||||
|
||||
// act
|
||||
var extract = await extractService.CreateAsync(new ExtractCreateInfo()
|
||||
{
|
||||
Name = "Extract1",
|
||||
Content = "{\"dataSourceId\":1,\"rows\":[],\"columnGroups\":[{\"groupId\":\"ABCD1\",\"values\":[],\"dimensions\":[],\"sortOrder\":0}],\"filters\":[],\"queryConfig\":{\"rows\":[],\"values\":[],\"filterGroups\":[],\"withTotals\":false,\"rowLimit\":25}}"
|
||||
}, CancellationToken.None);
|
||||
|
||||
// assert
|
||||
extract.CreatedByUserGuid.Should().Be(claimsPrincipal.GetUserGuid());
|
||||
extract.CurrentUserRole.Should().Be(ExtractRole.Editor);
|
||||
dbContext.ExtractRoleAssignments.Should().HaveCount(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user