- Added new using directives for additional namespaces. - Replaced `_host.AddSampleReceivers()` with `_host.AddSamples()` in the Setup method. - Introduced `createEnvelopeCmd` in the test method to create an envelope before executing the history command.
88 lines
2.4 KiB
C#
88 lines
2.4 KiB
C#
using DigitalData.UserManager.Domain.Entities;
|
|
using EnvelopeGenerator.Application.Envelopes.Commands;
|
|
using EnvelopeGenerator.Application.Histories.Commands;
|
|
using EnvelopeGenerator.Application.Histories.Queries;
|
|
using EnvelopeGenerator.Domain.Constants;
|
|
|
|
namespace EnvelopeGenerator.Tests.Application;
|
|
|
|
[TestFixture]
|
|
public class HistoryTests
|
|
{
|
|
private Fake.Host _host;
|
|
|
|
[SetUp]
|
|
public async Task Setup()
|
|
{
|
|
_host = Fake.CreateHost();
|
|
await _host.AddSamples();
|
|
}
|
|
|
|
[TearDown]
|
|
public void TearDown()
|
|
{
|
|
_host.Dispose();
|
|
}
|
|
|
|
[Test]
|
|
public async Task CreateHistory_And_ReadHistory_Should_Work()
|
|
{
|
|
// Arrange
|
|
var createEnvelopeCmd = Fake.Provider.CreateEnvelopeCommand(_host.User.Id);
|
|
var envelope = await _host.Mediator.Send(createEnvelopeCmd);
|
|
var key = string.Empty;
|
|
var createCmd = Fake.Provider.CreateHistoryCommand(key);
|
|
|
|
// Act
|
|
var id = await _host.Mediator.Send(createCmd);
|
|
|
|
// Assert
|
|
Assert.That(id, Is.Not.Null);
|
|
|
|
// ReadHistory query
|
|
var query = new ReadHistoryQuery(1);
|
|
var result = await _host.Mediator.Send(query);
|
|
|
|
Assert.That(result, Is.Not.Empty);
|
|
}
|
|
|
|
[Test]
|
|
public async Task ReadHistory_Should_Filter_By_Status()
|
|
{
|
|
// Arrange
|
|
var createCmd1 = new CreateHistoryCommand
|
|
{
|
|
EnvelopeId = 2,
|
|
UserReference = "UserX",
|
|
Status = EnvelopeStatus.EnvelopeCreated
|
|
};
|
|
|
|
var createCmd2 = new CreateHistoryCommand
|
|
{
|
|
EnvelopeId = 2,
|
|
UserReference = "UserX",
|
|
Status = EnvelopeStatus.EnvelopePartlySigned
|
|
};
|
|
|
|
await _host.Mediator.Send(createCmd1);
|
|
await _host.Mediator.Send(createCmd2);
|
|
|
|
// Act
|
|
var result = await _host.Mediator.Send(new ReadHistoryQuery(2, EnvelopeStatus.EnvelopePartlySigned));
|
|
|
|
// Assert
|
|
Assert.That(result, Has.Exactly(1).Items);
|
|
Assert.That(result, Has.All.Matches<EnvelopeGenerator.Application.Dto.EnvelopeHistory.EnvelopeHistoryDto>(
|
|
r => r.Status == EnvelopeStatus.EnvelopePartlySigned));
|
|
}
|
|
|
|
[Test]
|
|
public async Task ReadHistory_Should_Return_Empty_When_No_Record()
|
|
{
|
|
// Act
|
|
var result = await _host.Mediator.Send(new ReadHistoryQuery(999));
|
|
|
|
// Assert
|
|
Assert.That(result, Is.Empty);
|
|
}
|
|
} |