refactor(HistoryTests): Verbesserung von HistoryTests mit realistischen Daten und konsistenter Struktur
- Verwendung tatsächlicher Umschlag- und Empfängerdaten anstelle von magischen Zahlen - Ersetzen von fest codierten EnvelopeId und UserReference durch dynamisch erstellte Entitäten - Aktualisierung von ReadHistoryQuery zur Verwendung der Objektinitialisierungssyntax - Fügen Sie CancellationToken zu Mediator.Send-Aufrufen hinzu, um Konsistenz zu gewährleisten - Verwenden Sie EnvelopeHistoryDto explizit in der Assertion - Verbessern Sie die Lesbarkeit und den Realismus des Tests, indem Sie vollständige Voraussetzungdaten einrichten - Korrigieren Sie die Schreibweise im Kommentar: „EnvelopeReceiver” -> „envelope receiver”
This commit is contained in:
parent
fc443fb87f
commit
f6e34c6d91
@ -63,16 +63,14 @@ public class EnvelopeHistory : IHasEnvelope, IHasReceiver
|
|||||||
#if NET
|
#if NET
|
||||||
?
|
?
|
||||||
#endif
|
#endif
|
||||||
Sender
|
Sender { get; set; }
|
||||||
{ get; set; }
|
|
||||||
|
|
||||||
[ForeignKey("UserReference")]
|
[ForeignKey("UserReference")]
|
||||||
public virtual Receiver
|
public virtual Receiver
|
||||||
#if NET
|
#if NET
|
||||||
?
|
?
|
||||||
#endif
|
#endif
|
||||||
Receiver
|
Receiver { get; set; }
|
||||||
{ get; set; }
|
|
||||||
|
|
||||||
#if NETFRAMEWORK
|
#if NETFRAMEWORK
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using EnvelopeGenerator.Application.Extensions;
|
using EnvelopeGenerator.Application.Dto.EnvelopeHistory;
|
||||||
|
using EnvelopeGenerator.Application.Extensions;
|
||||||
using EnvelopeGenerator.Application.Histories.Commands;
|
using EnvelopeGenerator.Application.Histories.Commands;
|
||||||
using EnvelopeGenerator.Application.Histories.Queries;
|
using EnvelopeGenerator.Application.Histories.Queries;
|
||||||
using EnvelopeGenerator.Domain.Constants;
|
using EnvelopeGenerator.Domain.Constants;
|
||||||
@ -35,7 +36,7 @@ public class HistoryTests : TestBase
|
|||||||
var createReceiverCmd = this.CreateReceiverCommand();
|
var createReceiverCmd = this.CreateReceiverCommand();
|
||||||
(var receiver, _) = await Mediator.Send(createReceiverCmd);
|
(var receiver, _) = await Mediator.Send(createReceiverCmd);
|
||||||
|
|
||||||
// Create EnvelopeReceiver
|
// Create envelope receiver
|
||||||
var envRcv = this.CreateEnvelopeReceiver(envelope.Id, receiver.Id);
|
var envRcv = this.CreateEnvelopeReceiver(envelope.Id, receiver.Id);
|
||||||
envRcv = await GetRepository<EnvelopeReceiver>().CreateAsync(envRcv, cancel);
|
envRcv = await GetRepository<EnvelopeReceiver>().CreateAsync(envRcv, cancel);
|
||||||
|
|
||||||
@ -53,38 +54,59 @@ public class HistoryTests : TestBase
|
|||||||
[Test]
|
[Test]
|
||||||
public async Task ReadHistory_Should_Filter_By_Status()
|
public async Task ReadHistory_Should_Filter_By_Status()
|
||||||
{
|
{
|
||||||
// Arrange
|
/// Arrange
|
||||||
|
CancellationToken cancel = default;
|
||||||
|
|
||||||
|
// Create envelope
|
||||||
|
var envelope = FakeEnvelope;
|
||||||
|
envelope = await GetRepository<Envelope>().CreateAsync(envelope, cancel);
|
||||||
|
|
||||||
|
// Create receiver
|
||||||
|
var createReceiverCmd = this.CreateReceiverCommand();
|
||||||
|
(var receiver, _) = await Mediator.Send(createReceiverCmd);
|
||||||
|
|
||||||
|
// Create envelope receiver
|
||||||
|
var envRcv = this.CreateEnvelopeReceiver(envelope.Id, receiver.Id);
|
||||||
|
envRcv = await GetRepository<EnvelopeReceiver>().CreateAsync(envRcv, cancel);
|
||||||
|
|
||||||
var createCmd1 = new CreateHistoryCommand
|
var createCmd1 = new CreateHistoryCommand
|
||||||
{
|
{
|
||||||
EnvelopeId = 2,
|
EnvelopeId = envelope.Id,
|
||||||
UserReference = "UserX",
|
UserReference = receiver.EmailAddress,
|
||||||
Status = EnvelopeStatus.EnvelopeCreated
|
Status = EnvelopeStatus.AccessCodeRequested
|
||||||
};
|
};
|
||||||
|
|
||||||
var createCmd2 = new CreateHistoryCommand
|
var createCmd2 = new CreateHistoryCommand
|
||||||
{
|
{
|
||||||
EnvelopeId = 2,
|
EnvelopeId = envelope.Id,
|
||||||
UserReference = "UserX",
|
UserReference = receiver.EmailAddress,
|
||||||
Status = EnvelopeStatus.EnvelopePartlySigned
|
Status = EnvelopeStatus.EnvelopeCompletelySigned
|
||||||
};
|
};
|
||||||
|
|
||||||
await Mediator.Send(createCmd1);
|
await Mediator.Send(createCmd1, cancel);
|
||||||
await Mediator.Send(createCmd2);
|
await Mediator.Send(createCmd2, cancel);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
var result = await Mediator.Send(new ReadHistoryQuery(2, EnvelopeStatus.EnvelopePartlySigned));
|
var readQuery = new ReadHistoryQuery()
|
||||||
|
{
|
||||||
|
EnvelopeId = envelope.Id,
|
||||||
|
Status = EnvelopeStatus.EnvelopeCompletelySigned
|
||||||
|
};
|
||||||
|
var result = await Mediator.Send(readQuery, cancel);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.That(result, Has.Exactly(1).Items);
|
Assert.That(result, Has.Exactly(1).Items);
|
||||||
Assert.That(result, Has.All.Matches<EnvelopeGenerator.Application.Dto.EnvelopeHistory.EnvelopeHistoryDto>(
|
Assert.That(result, Has.All.Matches<EnvelopeHistoryDto>(r => r.Status == EnvelopeStatus.EnvelopeCompletelySigned));
|
||||||
r => r.Status == EnvelopeStatus.EnvelopePartlySigned));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public async Task ReadHistory_Should_Return_Empty_When_No_Record()
|
public async Task ReadHistory_Should_Return_Empty_When_No_Record()
|
||||||
{
|
{
|
||||||
// Act
|
// Act
|
||||||
var result = await Mediator.Send(new ReadHistoryQuery(999));
|
var result = await Mediator.Send(new ReadHistoryQuery()
|
||||||
|
{
|
||||||
|
EnvelopeId = 9999
|
||||||
|
});
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.That(result, Is.Empty);
|
Assert.That(result, Is.Empty);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user