Rename WebApi project to Vegasco.Server.Api
All checks were successful
continuous-integration/drone/push Build is passing

And update all references including comments etc.
This commit is contained in:
2025-06-12 18:22:37 +02:00
parent 9d71c86474
commit a1999bfe41
71 changed files with 177 additions and 224 deletions

View File

@@ -0,0 +1,86 @@
using FluentAssertions;
using FluentValidation.Results;
using NSubstitute;
using Vegasco.Server.Api.Consumptions;
namespace Vegasco.Server.Api.Tests.Unit.Consumptions;
public class UpdateConsumptionRequestValidatorTests
{
private readonly UpdateConsumption.Validator _sut;
private readonly TimeProvider _timeProvider = Substitute.For<TimeProvider>();
private readonly DateTimeOffset _utcNow = new DateTimeOffset(2024, 8, 18, 13, 2, 53, TimeSpan.Zero);
private readonly UpdateConsumption.Request _validRequest;
public UpdateConsumptionRequestValidatorTests()
{
_timeProvider.GetUtcNow().Returns(_utcNow);
_sut = new UpdateConsumption.Validator(_timeProvider);
_validRequest = new UpdateConsumption.Request(
_utcNow.AddDays(-1),
1,
1,
false);
}
[Fact]
public async Task ValidateAsync_ShouldBeValid_WhenRequestIsValid()
{
// Arrange
// Act
ValidationResult? result = await _sut.ValidateAsync(_validRequest);
// Assert
result.IsValid.Should().BeTrue();
}
[Fact]
public async Task ValidateAsync_ShouldBeInvalid_WhenDateTimeIsGreaterThanUtcNow()
{
// Arrange
UpdateConsumption.Request request = _validRequest with { DateTime = _utcNow.AddDays(1) };
// Act
ValidationResult? result = await _sut.ValidateAsync(request);
// Assert
result.IsValid.Should().BeFalse();
result.Errors.Should().ContainSingle(x => x.PropertyName == nameof(UpdateConsumption.Request.DateTime));
}
[Theory]
[InlineData(0)]
[InlineData(-1)]
public async Task ValidateAsync_ShouldBeInvalid_WhenDistanceIsLessThanOrEqualToZero(double distance)
{
// Arrange
UpdateConsumption.Request request = _validRequest with { Distance = distance };
// Act
ValidationResult? result = await _sut.ValidateAsync(request);
// Assert
result.IsValid.Should().BeFalse();
result.Errors.Should().ContainSingle(x => x.PropertyName == nameof(UpdateConsumption.Request.Distance));
}
[Theory]
[InlineData(0)]
[InlineData(-1)]
public async Task ValidateAsync_ShouldBeInvalid_WhenAmountIsLessThanOrEqualToZero(double amount)
{
// Arrange
UpdateConsumption.Request request = _validRequest with { Amount = amount };
// Act
ValidationResult? result = await _sut.ValidateAsync(request);
// Assert
result.IsValid.Should().BeFalse();
result.Errors.Should().ContainSingle(x => x.PropertyName == nameof(UpdateConsumption.Request.Amount));
}
}