Add unit tests for 9 new services/controllers and expand existing test coverage
116 tests passing: JobPhotoService, MeasurementConversionService, PlatformSettingsService, QuoteApprovalController, QuotePhotoService, ShopCapabilityCalculator, StorageMigrationService, TenantContext, UsageQuotaController — plus expanded PricingCalculation, Registration, and Subscription tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using PowderCoating.Application.Services;
|
||||
|
||||
namespace PowderCoating.UnitTests;
|
||||
|
||||
public class MeasurementConversionServiceTests
|
||||
{
|
||||
private readonly MeasurementConversionService _service = new();
|
||||
|
||||
[Fact]
|
||||
public void SquareFeetToMeters_AndBack_RoundTripsToCurrencyStylePrecision()
|
||||
{
|
||||
var squareMeters = _service.SquareFeetToMeters(100m);
|
||||
var squareFeet = _service.SquareMetersToFeet(squareMeters);
|
||||
|
||||
Assert.Equal(9.29m, squareMeters);
|
||||
Assert.Equal(100m, squareFeet, 1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PoundsToKilograms_AndBack_RoundTripsToCurrencyStylePrecision()
|
||||
{
|
||||
var kilograms = _service.PoundsToKilograms(10m);
|
||||
var pounds = _service.KilogramsToPounds(kilograms);
|
||||
|
||||
Assert.Equal(4.54m, kilograms);
|
||||
Assert.Equal(10.01m, pounds, 2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConvertArea_WhenImperialToMetric_UsesSquareFeetConversion()
|
||||
{
|
||||
var result = _service.ConvertArea(50m, fromImperial: true, toMetric: true);
|
||||
|
||||
Assert.Equal(4.65m, result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConvertArea_WhenSourceAndTargetAreSameSystem_ReturnsOriginalValue()
|
||||
{
|
||||
Assert.Equal(12.34m, _service.ConvertArea(12.34m, fromImperial: true, toMetric: false));
|
||||
Assert.Equal(56.78m, _service.ConvertArea(56.78m, fromImperial: false, toMetric: true));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConvertWeight_WhenMetricToImperial_UsesKilogramsToPounds()
|
||||
{
|
||||
var result = _service.ConvertWeight(5m, fromImperial: false, toMetric: false);
|
||||
|
||||
Assert.Equal(11.02m, result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void UnitLabelHelpers_ReturnExpectedMetricAndImperialLabels()
|
||||
{
|
||||
Assert.Equal("sq ft", _service.GetAreaUnitLabel(false));
|
||||
Assert.Equal("sq m", _service.GetAreaUnitLabel(true));
|
||||
Assert.Equal("lb", _service.GetWeightUnitLabel(false));
|
||||
Assert.Equal("kg", _service.GetWeightUnitLabel(true));
|
||||
Assert.Equal("sq ft/lb", _service.GetCoverageUnitLabel(false));
|
||||
Assert.Equal("sq m/kg", _service.GetCoverageUnitLabel(true));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user