예제 #1
0
        public async void um_comando_valido_nao_notifica_mock()
        {
            //mocks
            var mediatorHandlerMock = new Mock <IMediatorHandler>();
            var notificationsMock   = new Mock <INotifications>();
            var commandMock         = new Mock <ICommandBase>();

            //setups
            commandMock.Setup(x => x.ValidationResult).Returns(new ValidationResult());

            var notifiable = new Notifiable(mediatorHandlerMock.Object, notificationsMock.Object);

            await notifiable.ValidateAndNotifyValidationErrors(commandMock.Object);

            _ = notifiable.IsValid();

            mediatorHandlerMock.Verify(x => x.RaiseEvent(It.IsAny <DomainNotification>(), It.IsAny <CancellationToken>()), Times.Never);
            notificationsMock.Verify(x => x.HasNotifications(), Times.Once);
        }
예제 #2
0
        public async void valida_e_notifica_erros_de_um_comando_invalido_mock()
        {
            //mocks
            var mediatorHandlerMock = new Mock <IMediatorHandler>();
            var notificationsMock   = new Mock <INotifications>();
            var commandMock         = new Mock <ICommandBase>();

            //setups
            var erros = new List <ValidationFailure>()
            {
                new ValidationFailure("erro", "erro")
            };

            commandMock.Setup(x => x.ValidationResult).Returns(new ValidationResult(erros));

            var notifiable = new Notifiable(mediatorHandlerMock.Object, notificationsMock.Object);

            await notifiable.ValidateAndNotifyValidationErrors(commandMock.Object);

            _ = notifiable.IsValid();

            mediatorHandlerMock.Verify(x => x.RaiseEvent(It.IsAny <DomainNotification>(), It.IsAny <CancellationToken>()), Times.Once);
            notificationsMock.Verify(x => x.HasNotifications(), Times.Once);
        }