コード例 #1
0
        public async Task Handle_Success()
        {
            // Arrange
            var request = new ExportIcalStream(validEventId, outputPort);

            // Act
            var result = await interactor.Handle(request, CancellationToken.None);

            // Assert
            result.IsSuccessful.Should().BeTrue();
            A.CallTo(() => outputPort.Output(A <ExportIcalStreamOutput> .That.Matches(o => o.IcalStream != null)))
            .MustHaveHappenedOnceExactly();
            A.CallTo(() => telemetryService.TrackEvent(TelemetryEventNames.IcalRequested, A <object> ._))
            .MustHaveHappenedOnceExactly();
        }
コード例 #2
0
        public async Task Handle_EventNotFound_MustFail()
        {
            // Arrange
            var request = new ExportIcalStream(validEventId, outputPort);

            A.CallTo(() => repository.FindByIdAsync(A <Guid> ._))
            .ReturnsLazily(() => Task.FromResult <Tauchbolde.Domain.Entities.Event>(null));

            // Act
            var result = await interactor.Handle(request, CancellationToken.None);

            // Assert
            result.IsSuccessful.Should().BeFalse();
            result.ResultCategory.Should().Be(ResultCategory.NotFound);
            A.CallTo(() => outputPort.Output(A <ExportIcalStreamOutput> ._))
            .MustNotHaveHappened();
            A.CallTo(() => telemetryService.TrackEvent(TelemetryEventNames.IcalRequested, A <object> ._))
            .MustNotHaveHappened();
        }