public void ShouldNotCallHandleIfTagNotExist()
        {
            dbSetAdditionalInfoDefinition.Setup(x => x.FindAsync(id)).Returns(null);
            context.Setup(x => x.AdditionalInfoDefinitions).Returns(dbSetAdditionalInfoDefinition.Object);

            DeleteAdditionalInfoDefinitionCommandHandler deleteAdditionalInfoDefinitionCommandHandler = new DeleteAdditionalInfoDefinitionCommandHandler(context.Object, stringLocalizer.Object);
            DeleteAdditionalInfoDefinitionCommand        deleteAdditionalInfoDefinitionCommand        = new DeleteAdditionalInfoDefinitionCommand(id);

            Func <Task> act = async() => await deleteAdditionalInfoDefinitionCommandHandler.Handle(deleteAdditionalInfoDefinitionCommand, new CancellationToken());

            act.Should().ThrowAsync <NotFoundException>();
        }
        public void ShouldNotCallHandleIfNotSavedChanges()
        {
            dbSetAdditionalInfoDefinition.Setup(x => x.FindAsync(id)).Returns(new ValueTask <AdditionalInfoDefinition>(Task.FromResult(new AdditionalInfoDefinition {
                Id = id
            })));
            context.Setup(x => x.AdditionalInfoDefinitions).Returns(dbSetAdditionalInfoDefinition.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0));

            DeleteAdditionalInfoDefinitionCommandHandler deleteAdditionalInfoDefinitionCommandHandler = new DeleteAdditionalInfoDefinitionCommandHandler(context.Object, stringLocalizer.Object);
            DeleteAdditionalInfoDefinitionCommand        deleteAdditionalInfoDefinitionCommand        = new DeleteAdditionalInfoDefinitionCommand(id);

            Func <Task> act = async() => await deleteAdditionalInfoDefinitionCommandHandler.Handle(deleteAdditionalInfoDefinitionCommand, new CancellationToken());

            act.Should().ThrowAsync <RestException>();
        }
        public async Task ShouldCallHandle()
        {
            dbSetAdditionalInfoDefinition.Setup(x => x.FindAsync(id)).Returns(new ValueTask <AdditionalInfoDefinition>(Task.FromResult(new AdditionalInfoDefinition {
                Id = id
            })));
            context.Setup(x => x.AdditionalInfoDefinitions).Returns(dbSetAdditionalInfoDefinition.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1));

            DeleteAdditionalInfoDefinitionCommandHandler deleteAdditionalInfoDefinitionCommandHandler = new DeleteAdditionalInfoDefinitionCommandHandler(context.Object, stringLocalizer.Object);
            DeleteAdditionalInfoDefinitionCommand        deleteAdditionalInfoDefinitionCommand        = new DeleteAdditionalInfoDefinitionCommand(id);

            var result = await deleteAdditionalInfoDefinitionCommandHandler.Handle(deleteAdditionalInfoDefinitionCommand, new CancellationToken());

            result.Should().Be(Unit.Value);
        }