Skip to content
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#nullable enable
using GovUk.Education.ExploreEducationStatistics.Admin.ViewModels.Public.Data;
using GovUk.Education.ExploreEducationStatistics.Public.Data.Model;

namespace GovUk.Education.ExploreEducationStatistics.Admin.Tests.MockBuilders;

public class DataSetSummaryViewModelBuilder
{
private DataSetVersionSummaryViewModel? _draftVersion;
private DataSetLiveVersionSummaryViewModel? _liveVersion;

public DataSetSummaryViewModel Build()
{
return new()
{
Id = Guid.NewGuid(),
Title = "Data set title",
Summary = "Data set summary",
Status = DataSetStatus.Published,
DraftVersion = _draftVersion ?? null,
LatestLiveVersion = _liveVersion ?? null,
SupersedingDataSetId = null,
PreviousReleaseIds = [],
};
}

public DataSetSummaryViewModelBuilder WithLiveVersion(Guid releaseVersionId)
{
_liveVersion = new()
{
Id = Guid.NewGuid(),
File = new() { Id = Guid.NewGuid(), Title = "Data set title" },
ReleaseVersion = new() { Id = releaseVersionId, Title = "Release version 1" },
Status = DataSetVersionStatus.Published,
Published = DateTimeOffset.UtcNow,
Type = DataSetVersionType.Minor,
Version = "1.0",
};

return this;
}

public DataSetSummaryViewModelBuilder WithDraftVersion(
Guid releaseVersionId,
DataSetVersionStatus status = DataSetVersionStatus.Draft
)
{
_draftVersion = new()
{
Id = Guid.NewGuid(),
File = new() { Id = Guid.NewGuid(), Title = "Data set title" },
ReleaseVersion = new() { Id = releaseVersionId, Title = "Release version 1" },
Status = status,
Type = DataSetVersionType.Minor,
Version = "1.1",
};

return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@ public async Task CreateReleaseStatus_Approved_FailsOnChecklistErrors()
.ReturnsAsync(new List<HtmlBlock>());

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id)))
.Setup(s =>
s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id), It.IsAny<CancellationToken>())
)
.ReturnsAsync(
new List<ReleaseChecklistIssue>
{
Expand Down Expand Up @@ -599,7 +601,9 @@ public async Task CreateReleaseStatus_Approved_Scheduled()
var userResourceRoleNotificationService = new Mock<IUserResourceRoleNotificationService>(MockBehavior.Strict);

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id)))
.Setup(s =>
s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id), It.IsAny<CancellationToken>())
)
.ReturnsAsync([]);

publishingService
Expand Down Expand Up @@ -704,7 +708,9 @@ public async Task CreateReleaseStatus_Approved_Immediately()
var contentService = new Mock<IContentService>(MockBehavior.Strict);

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id)))
.Setup(s =>
s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id), It.IsAny<CancellationToken>())
)
.ReturnsAsync(new List<ReleaseChecklistIssue>());

publishingService
Expand Down Expand Up @@ -796,7 +802,12 @@ public async Task CreateReleaseStatus_Approved_Amendment()
var contentService = new Mock<IContentService>(MockBehavior.Strict);

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == amendedReleaseVersion.Id)))
.Setup(s =>
s.GetErrors(
It.Is<ReleaseVersion>(rv => rv.Id == amendedReleaseVersion.Id),
It.IsAny<CancellationToken>()
)
)
.ReturnsAsync(new List<ReleaseChecklistIssue>());

publishingService
Expand Down Expand Up @@ -1104,7 +1115,9 @@ public async Task CreateReleaseStatus_Approved_Scheduled_FailsSendingPreReleaseI
var userResourceRoleNotificationService = new Mock<IUserResourceRoleNotificationService>(MockBehavior.Strict);

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id)))
.Setup(s =>
s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id), It.IsAny<CancellationToken>())
)
.ReturnsAsync([]);

contentService
Expand Down Expand Up @@ -1192,7 +1205,9 @@ public async Task CreateReleaseStatus_Approved_Scheduled_FailsWhileInformingPubl
var userResourceRoleNotificationService = new Mock<IUserResourceRoleNotificationService>(MockBehavior.Strict);

releaseChecklistService
.Setup(s => s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id)))
.Setup(s =>
s.GetErrors(It.Is<ReleaseVersion>(rv => rv.Id == releaseVersion.Id), It.IsAny<CancellationToken>())
)
.ReturnsAsync([]);

userReleaseRoleRepository.SetupQuery(ResourceRoleFilter.AllButExpired, userReleaseRole);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ await PolicyCheckBuilder<ContentSecurityPolicies>()
contentDbContext: contentDbContext,
userService: userService.Object
);
return await service.GetChecklist(releaseVersion.Id);
return await service.GetChecklist(releaseVersion.Id, default);
}
});
}
Expand All @@ -62,7 +62,8 @@ private ReleaseChecklistService BuildReleaseChecklistService(
IMethodologyVersionRepository? methodologyVersionRepository = null,
IFootnoteRepository? footnoteRepository = null,
IDataBlockService? dataBlockService = null,
IDataSetVersionService? dataSetVersionService = null
IDataSetVersionService? dataSetVersionService = null,
IReleasePublishingValidator? releasePublishingValidator = null
)
{
return new(
Expand All @@ -74,7 +75,8 @@ private ReleaseChecklistService BuildReleaseChecklistService(
methodologyVersionRepository ?? new Mock<IMethodologyVersionRepository>().Object,
footnoteRepository ?? new Mock<IFootnoteRepository>().Object,
dataBlockService ?? new Mock<IDataBlockService>().Object,
dataSetVersionService ?? new Mock<IDataSetVersionService>().Object
dataSetVersionService ?? new Mock<IDataSetVersionService>().Object,
releasePublishingValidator ?? new Mock<IReleasePublishingValidator>().Object
);
}
}
Loading