Optionally add a beoordeling while adding a verspakket
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using FluentAssertions;
|
||||
using Lutra.Application.Interfaces;
|
||||
using Lutra.Application.Models.Verspakketten;
|
||||
using Lutra.Application.Verspakketten;
|
||||
using Moq;
|
||||
using Moq.EntityFrameworkCore;
|
||||
@@ -30,7 +31,7 @@ public class CreateVerspakketHandlerTests
|
||||
_contextMock.Setup(c => c.Verspaketten).ReturnsDbSet(new List<Domain.Entities.Verspakket>());
|
||||
_contextMock.Setup(c => c.SaveChangesAsync(It.IsAny<CancellationToken>())).ReturnsAsync(1);
|
||||
|
||||
var command = new CreateVerspakket.Command("Lente Pakket", 1299, 2, supermarktId);
|
||||
var command = new CreateVerspakket.Command("Lente Pakket", 1299, 2, supermarktId, null);
|
||||
|
||||
var result = await _handler.Handle(command, CancellationToken.None);
|
||||
|
||||
@@ -43,7 +44,7 @@ public class CreateVerspakketHandlerTests
|
||||
{
|
||||
_contextMock.Setup(c => c.Supermarkten).ReturnsDbSet(new List<Domain.Entities.Supermarkt>());
|
||||
|
||||
var command = new CreateVerspakket.Command("Lente Pakket", 1299, 2, Guid.NewGuid());
|
||||
var command = new CreateVerspakket.Command("Lente Pakket", 1299, 2, Guid.NewGuid(), null);
|
||||
|
||||
var act = () => _handler.Handle(command, CancellationToken.None);
|
||||
|
||||
@@ -68,7 +69,7 @@ public class CreateVerspakketHandlerTests
|
||||
.Callback<Domain.Entities.Verspakket, CancellationToken>((v, _) => savedVerspakket = v);
|
||||
_contextMock.Setup(c => c.SaveChangesAsync(It.IsAny<CancellationToken>())).ReturnsAsync(1);
|
||||
|
||||
var command = new CreateVerspakket.Command("Zomer Pakket", 999, 4, supermarktId);
|
||||
var command = new CreateVerspakket.Command("Zomer Pakket", 999, 4, supermarktId, null);
|
||||
|
||||
await _handler.Handle(command, CancellationToken.None);
|
||||
|
||||
@@ -78,4 +79,45 @@ public class CreateVerspakketHandlerTests
|
||||
savedVerspakket.AantalPersonen.Should().Be(4);
|
||||
savedVerspakket.SupermarktId.Should().Be(supermarktId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Handle_WithBeoordeling_CreatesVerspakketWithBeoordeling()
|
||||
{
|
||||
var supermarktId = Guid.NewGuid();
|
||||
var supermarkten = new List<Domain.Entities.Supermarkt>
|
||||
{
|
||||
new() { Id = supermarktId, Naam = "Jumbo", CreatedAt = DateTime.UtcNow, ModifiedAt = DateTime.UtcNow }
|
||||
};
|
||||
|
||||
Domain.Entities.Verspakket? savedVerspakket = null;
|
||||
_contextMock.Setup(c => c.Supermarkten).ReturnsDbSet(supermarkten);
|
||||
_contextMock.Setup(c => c.Verspaketten).ReturnsDbSet(new List<Domain.Entities.Verspakket>());
|
||||
_contextMock
|
||||
.Setup(c => c.Verspaketten.AddAsync(It.IsAny<Domain.Entities.Verspakket>(), It.IsAny<CancellationToken>()))
|
||||
.Callback<Domain.Entities.Verspakket, CancellationToken>((v, _) => savedVerspakket = v);
|
||||
_contextMock.Setup(c => c.SaveChangesAsync(It.IsAny<CancellationToken>())).ReturnsAsync(1);
|
||||
|
||||
var command = new CreateVerspakket.Command(
|
||||
"Zomer Pakket",
|
||||
999,
|
||||
4,
|
||||
supermarktId,
|
||||
new Beoordeling
|
||||
{
|
||||
CijferSmaak = 8,
|
||||
CijferBereiden = 7,
|
||||
Aanbevolen = true,
|
||||
Tekst = "Lekker"
|
||||
});
|
||||
|
||||
await _handler.Handle(command, CancellationToken.None);
|
||||
|
||||
savedVerspakket.Should().NotBeNull();
|
||||
savedVerspakket!.Beoordelingen.Should().ContainSingle();
|
||||
var beoordeling = savedVerspakket.Beoordelingen.Single();
|
||||
beoordeling.CijferSmaak.Should().Be(8);
|
||||
beoordeling.CijferBereiden.Should().Be(7);
|
||||
beoordeling.Aanbevolen.Should().BeTrue();
|
||||
beoordeling.Tekst.Should().Be("Lekker");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user