Skip to content

Commit

Permalink
Fixes tests
Browse files Browse the repository at this point in the history
  • Loading branch information
craigedmunds committed Jan 2, 2025
1 parent 50cc40c commit 26c10f4
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public BasicSampleDataTestFixture(IMessageSink messageSink)
_mongoDbContext = rootScope.ServiceProvider.GetRequiredService<IMongoDbContext>();

// Would like to pick this up from env/config/DB state
var insertToMongo = false;
var insertToMongo = true;

if (insertToMongo)
{
Expand Down
13 changes: 11 additions & 2 deletions Btms.Backend.IntegrationTests/DecisionTests/ChedPSimpleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,21 @@ public void ShouldHaveChedType()
.GetResourceObjects<Movement>()
.Single();


movement
.AlvsDecisionStatus
.Context!
.Status
.ChedTypes
.Should()
.Equal(ImportNotificationTypeEnum.Cvedp);

//
// movement
// .AlvsDecisionStatus
// .Context!
// .ChedTypes
// .Should()
// .Equal(ImportNotificationTypeEnum.Cvedp);

}

[Fact(Skip = "Relationships aren't being deserialised correctly")]
Expand Down
46 changes: 46 additions & 0 deletions Btms.Backend.IntegrationTests/DecisionTests/ManyItemTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using System.Diagnostics.CodeAnalysis;
using Btms.Common.Extensions;
using Btms.Model;
using Btms.SyncJob;
using Btms.Backend.IntegrationTests.JsonApiClient;
using FluentAssertions;
using System.Net;
using System.Net.Http.Json;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using Btms.Backend.IntegrationTests.Extensions;
using Btms.Backend.IntegrationTests.Helpers;
using Btms.Business.Commands;
using Btms.Model.Cds;
using Btms.Model.Ipaffs;
using Btms.Types.Alvs;
using TestDataGenerator.Scenarios;
using Json.More;
using Microsoft.Extensions.Logging;
using TestDataGenerator.Scenarios.ChedP;
using Xunit;
using Xunit.Abstractions;
using ImportNotification = Btms.Types.Ipaffs.ImportNotification;

namespace Btms.Backend.IntegrationTests.DecisionTests;

[Trait("Category", "Integration")]
public class ManyItemTests(InMemoryScenarioApplicationFactory<CrNoMatchScenarioGenerator> factory, ITestOutputHelper testOutputHelper)
: BaseApiTests(factory, testOutputHelper, "DecisionTests"), IClassFixture<InMemoryScenarioApplicationFactory<CrNoMatchScenarioGenerator>>
{

[Fact]
public void ShouldHaveOneChedType()
{
// Act
var movementResource = Client.AsJsonApiClient()
.Get("api/movements")
// .Data
.GetResourceObjects<Movement>()
.Single()
.Status.ChedTypes!.Count().Should().Be(1);
}

}
18 changes: 11 additions & 7 deletions Btms.Business.Tests/Services/Decisions/NoMatchDecisionsTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,17 @@ private static List<Movement> GenerateMovements(bool hasChecks)
: new CrNoMatchNoChecksScenarioGenerator(NullLogger<CrNoMatchNoChecksScenarioGenerator>.Instance);

var config = ScenarioFactory.CreateScenarioConfig(generator, 1, 1);

var generatorResult = generator.Generate(1, 1, DateTime.UtcNow, config);

var movementBuilder = new MovementBuilder(NullLogger<MovementBuilder>.Instance);
return generatorResult.Select(x =>
{
var internalClearanceRequest = AlvsClearanceRequestMapper.Map((AlvsClearanceRequest)x);
return movementBuilder.From(internalClearanceRequest).Build();
}).ToList();
var generatorResult = generator
.Generate(1, 1, DateTime.UtcNow, config)
.First(x => x is AlvsClearanceRequest);

var internalClearanceRequest = AlvsClearanceRequestMapper.Map((AlvsClearanceRequest)generatorResult);
var movement = movementBuilder
.From(internalClearanceRequest)
.Build();

return [movement];
}
}
17 changes: 9 additions & 8 deletions Btms.Business.Tests/Services/Matching/MatchingServiceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,16 @@ private static List<Movement> GenerateMovements()
var movementBuilder = new MovementBuilder(NullLogger<MovementBuilder>.Instance);
var config = ScenarioFactory.CreateScenarioConfig(generator, 1, 1);

var generatorResult = generator.Generate(1, 1, DateTime.UtcNow, config);
var generatorResult = generator
.Generate(1, 1, DateTime.UtcNow, config)
.First(x => x is AlvsClearanceRequest);

return generatorResult
.Select(x =>
{
var internalClearanceRequest = AlvsClearanceRequestMapper.Map((AlvsClearanceRequest)x);
return movementBuilder.From(internalClearanceRequest).Build();
})
.ToList();
var internalClearanceRequest = AlvsClearanceRequestMapper.Map((AlvsClearanceRequest)generatorResult);
var movement = movementBuilder
.From(internalClearanceRequest)
.Build();

return [movement];
}

private static (List<ImportNotification> Notifications, List<Movement> Movements) GenerateSimpleMatch()
Expand Down
8 changes: 5 additions & 3 deletions Btms.Business/Builders/MovementBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,10 @@ public MovementBuilder From(Model.Cds.CdsClearanceRequest request)
}
};

_movement
.AlvsDecisionStatus.Context
.ChedTypes = GetChedTypes();
//TODO : Remove
// _movement
// .AlvsDecisionStatus.Context
// .ChedTypes = GetChedTypes();

return this;
}
Expand All @@ -63,6 +64,7 @@ private ImportNotificationTypeEnum[] GetChedTypes(List<Items>? items = null)
.Select(d =>
d.DocumentCode!.GetChedType()
)
.Distinct()
.Where(ct => ct.HasValue())
.Select(ct => ct!.Value)
.ToArray()!;
Expand Down

0 comments on commit 26c10f4

Please sign in to comment.