Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EES-5800 Update DataGuidanceFileWriter.DoWrite to use Release title #5539

Merged
merged 1 commit into from
Jan 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using GovUk.Education.ExploreEducationStatistics.Common.Tests.Fixtures;
using GovUk.Education.ExploreEducationStatistics.Content.Model.Tests.Fixtures;
using static GovUk.Education.ExploreEducationStatistics.Admin.Validators.ValidationErrorMessages;
using static GovUk.Education.ExploreEducationStatistics.Common.BlobContainers;
using static GovUk.Education.ExploreEducationStatistics.Common.Model.FileType;
Expand All @@ -38,6 +40,8 @@ namespace GovUk.Education.ExploreEducationStatistics.Admin.Tests.Services
{
public class ReleaseFileServiceTests : IDisposable
{
private readonly DataFixture _dataFixture = new();

private readonly List<string> _filePaths = new();

public void Dispose()
Expand Down Expand Up @@ -1584,14 +1588,9 @@ public async Task Stream_BlobDoesNotExist()
[Fact]
public async Task ZipFilesToStream_ValidFileTypes()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down Expand Up @@ -1690,14 +1689,9 @@ public async Task ZipFilesToStream_ValidFileTypes()
[Fact]
public async Task ZipFilesToStream_DataGuidanceForMultipleDataFiles()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down Expand Up @@ -1796,14 +1790,9 @@ public async Task ZipFilesToStream_DataGuidanceForMultipleDataFiles()
[Fact]
public async Task ZipFilesToStream_OrderedAlphabetically()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down Expand Up @@ -1900,14 +1889,9 @@ public async Task ZipFilesToStream_OrderedAlphabetically()
[Fact]
public async Task ZipFilesToStream_FiltersInvalidFileTypes()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down Expand Up @@ -1993,14 +1977,9 @@ public async Task ZipFilesToStream_FiltersInvalidFileTypes()
[Fact]
public async Task ZipFilesToStream_FiltersFilesNotInBlobStorage()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down Expand Up @@ -2070,14 +2049,9 @@ public async Task ZipFilesToStream_FiltersFilesNotInBlobStorage()
[Fact]
public async Task ZipFilesToStream_FiltersFilesForOtherReleases()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

// Files are for other releases
var releaseFile1 = new ReleaseFile
Expand Down Expand Up @@ -2144,14 +2118,9 @@ public async Task ZipFilesToStream_FiltersFilesForOtherReleases()
[Fact]
public async Task ZipFilesToStream_Empty()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var contentDbContextId = Guid.NewGuid().ToString();

Expand Down Expand Up @@ -2189,14 +2158,9 @@ public async Task ZipFilesToStream_Empty()
[Fact]
public async Task ZipFilesToStream_Cancelled()
{
var releaseVersion = new ReleaseVersion
{
Publication = new Publication
{
Slug = "publication-slug"
},
Slug = "release-slug"
};
ReleaseVersion releaseVersion = _dataFixture.DefaultReleaseVersion()
.WithRelease(_dataFixture.DefaultRelease()
.WithPublication(_dataFixture.DefaultPublication()));

var releaseFile1 = new ReleaseFile
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,13 +199,13 @@ public async Task<Either<ActionResult, Unit>> ZipFilesToStream(
IEnumerable<Guid>? fileIds = null,
CancellationToken cancellationToken = default)
{
return await _persistenceHelper.CheckEntityExists<ReleaseVersion>(
releaseVersionId,
q => q.Include(rv => rv.Publication)
)
return await _contentDbContext.ReleaseVersions
.Include(rv => rv.Release)
.ThenInclude(r => r.Publication)
.SingleOrNotFoundAsync(rv => rv.Id == releaseVersionId, cancellationToken: cancellationToken)
.OnSuccess(_userService.CheckCanViewReleaseVersion)
.OnSuccessVoid(
async release =>
async releaseVersion =>
{
var query = QueryZipReleaseFiles(releaseVersionId);

Expand All @@ -214,11 +214,11 @@ public async Task<Either<ActionResult, Unit>> ZipFilesToStream(
query = query.Where(rf => fileIds.Contains(rf.FileId));
}

var releaseFiles = (await query.ToListAsync())
var releaseFiles = (await query.ToListAsync(cancellationToken: cancellationToken))
.OrderBy(rf => rf.File.ZipFileEntryName())
.ToList();

await DoZipFilesToStream(releaseFiles, release, outputStream, cancellationToken);
await DoZipFilesToStream(releaseFiles, releaseVersion, outputStream, cancellationToken);
}
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,11 @@ public static Generator<ReleaseVersion> WithDataBlockVersions(
IEnumerable<DataBlockVersion> dataBlockVersions)
=> generator.ForInstance(releaseVersion => releaseVersion.SetDataBlockVersions(dataBlockVersions));

public static Generator<ReleaseVersion> WithDataGuidance(
this Generator<ReleaseVersion> generator,
string dataGuidance)
=> generator.ForInstance(releaseVersion => releaseVersion.SetDataGuidance(dataGuidance));

public static Generator<ReleaseVersion> WithContent(
this Generator<ReleaseVersion> generator,
IEnumerable<ContentSection> content)
Expand Down Expand Up @@ -285,6 +290,11 @@ public static InstanceSetters<ReleaseVersion> SetDataBlockVersions(
});
}

public static InstanceSetters<ReleaseVersion> SetDataGuidance(
this InstanceSetters<ReleaseVersion> setters,
string dataGuidance)
=> setters.Set(releaseVersion => releaseVersion.DataGuidance, dataGuidance);

public static InstanceSetters<ReleaseVersion> SetContentBlocks(
this InstanceSetters<ReleaseVersion> setters,
IEnumerable<ContentSection> content)
Expand Down
Loading
Loading