Skip to content

Commit

Permalink
Added migration and reimplemted saveentities
Browse files Browse the repository at this point in the history
  • Loading branch information
Dominic NEED authored and Dominic NEED committed Jun 20, 2024
1 parent 02dd57e commit 0570e3b
Show file tree
Hide file tree
Showing 20 changed files with 2,293 additions and 52 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using MediatR;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;

Expand All @@ -9,20 +10,21 @@ public abstract class TestAcademisationContext : IDisposable
private readonly SqliteConnection _connection;

private readonly DbContextOptions<AcademisationContext> _contextOptions;

protected TestAcademisationContext()
private readonly IMediator _mediator;
protected TestAcademisationContext(IMediator mediator)
{
_connection = new("Filename=:memory:");
_connection.Open();

_contextOptions = new DbContextOptionsBuilder<AcademisationContext>()
.UseSqlite(_connection)
.Options;
_mediator = mediator;
}

public AcademisationContext CreateContext()
{
return new(_contextOptions);
return new(_contextOptions, _mediator);
}

protected void Seed()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
using AutoFixture;
using Dfe.Academies.Academisation.Domain.ConversionAdvisoryBoardDecisionAggregate;
using Dfe.Academies.Academisation.Domain.Core.ConversionAdvisoryBoardDecisionAggregate;
using MediatR;

namespace Dfe.Academies.Academisation.Data.UnitTest.Contexts;

public class TestAdvisoryBoardDecisionContext : TestAcademisationContext
{
private readonly Fixture _fixture = new();

public TestAdvisoryBoardDecisionContext()
private IMediator _mediator;
public TestAdvisoryBoardDecisionContext(IMediator mediator) : base(mediator)
{
Seed();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@
using Dfe.Academies.Academisation.Domain.ApplicationAggregate.Schools;
using Dfe.Academies.Academisation.Domain.ApplicationAggregate.Trusts;
using Dfe.Academies.Academisation.Domain.Core.ApplicationAggregate;
using MediatR;

namespace Dfe.Academies.Academisation.Data.UnitTest.Contexts;

public class TestApplicationContext : TestAcademisationContext
{
private readonly Fixture _fixture = new();

public TestApplicationContext()
public TestApplicationContext(IMediator mediator) : base(mediator)
{
Seed();
}
Expand Down Expand Up @@ -47,10 +48,10 @@ protected override void SeedData()
schools.Add(new School(ms.Id, ms.TrustBenefitDetails, ms.OfstedInspectionDetails, ms.Safeguarding,
ms.LocalAuthorityReorganisationDetails, ms.LocalAuthorityClosurePlanDetails, ms.DioceseName,
ms.DioceseFolderIdentifier, ms.PartOfFederation, ms.FoundationTrustOrBodyName,
ms.FoundationConsentFolderIdentifier, ms.ExemptionEndDate, ms.MainFeederSchools, ms.ResolutionConsentFolderIdentifier, ms.ProtectedCharacteristics, ms.FurtherInformation,
ms.FoundationConsentFolderIdentifier, ms.ExemptionEndDate, ms.MainFeederSchools, ms.ResolutionConsentFolderIdentifier, ms.ProtectedCharacteristics, ms.FurtherInformation,
new SchoolDetails(ms.Details.Urn, ms.Details.ProposedNewSchoolName!, ms.Details.LandAndBuildings,
ms.Details.PreviousFinancialYear, ms.Details.CurrentFinancialYear, ms.Details.NextFinancialYear,
ms.Details.ContactHeadName, $"{ms.Details.ContactHeadEmail}@test.com",
ms.Details.ContactHeadName, $"{ms.Details.ContactHeadEmail}@test.com",
ms.Details.ContactChairName, $"{ms.Details.ContactChairEmail}@test.com",
ms.Details.ContactRole, ms.Details.MainContactOtherName, $"{ms.Details.MainContactOtherEmail}@test.com",
ms.Details.MainContactOtherRole,
Expand All @@ -68,7 +69,7 @@ protected override void SeedData()
ms.Details.DeclarationSignedByName, ms.Details.SchoolConversionReasonsForJoining),
ms.Loans, ms.Leases, ms.HasLoans, ms.HasLeases));


}

Application application = new(
Expand All @@ -79,9 +80,9 @@ protected override void SeedData()
applicationStatus,
_fixture.Create<Dictionary<int, ContributorDetails>>(),
schools,
JoinTrust.Create(_fixture.Create<int>(), _fixture.Create<string>(), _fixture.Create<string>(),_fixture.Create<ChangesToTrust>(),
JoinTrust.Create(_fixture.Create<int>(), _fixture.Create<string>(), _fixture.Create<string>(), _fixture.Create<ChangesToTrust>(),
_fixture.Create<string>(), _fixture.Create<bool>(), _fixture.Create<string>()),
null, null, applicationRef,null);
null, null, applicationRef, null);

return application;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
namespace Dfe.Academies.Academisation.Data.UnitTest.Contexts;
using MediatR;

namespace Dfe.Academies.Academisation.Data.UnitTest.Contexts;

public class TestProjectContext : TestAcademisationContext
{
public TestProjectContext()
public TestProjectContext(IMediator mediator) : base(mediator)
{
Seed();
}
Expand Down
5 changes: 5 additions & 0 deletions Dfe.Academies.Academisation.Data/AcademisationContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ public override async Task<int> SaveChangesAsync(CancellationToken cancellationT
SetModifiedAndCreatedDates();
return await base.SaveChangesAsync(cancellationToken);
}
public async Task<bool> SaveEntitiesAsync(CancellationToken cancellationToken = default(CancellationToken))
{
await base.SaveChangesAsync(cancellationToken);
return true;
}
private async Task DispatchDomainEventsAsync()
{
var domainEntities = ChangeTracker
Expand Down
Loading

0 comments on commit 0570e3b

Please sign in to comment.