public async Task PutInvalidMiner()
        {
            // Arrange
            var miner      = new Miner();
            var controller = new MinersController(_minerService.Object, _collectorService.Object);

            controller.ModelState.AddModelError("test-key", "test-validation-message");

            // Act
            var result = await controller.PutAsync(miner);

            // Assert
            _minerService.Verify(m => m.UpdateAsync(It.IsAny <Miner>(), CancellationToken.None), Times.Never);
            Assert.That(result, Has.Property(nameof(result.StatusCode)).EqualTo(400));
            Assert.That(result, Has.Property(nameof(result.Value)).ContainKey("test-key"));
        }
        public async Task PutUpdatedMinerNotFound()
        {
            // Arrange
            var miner      = new Miner();
            var controller = new MinersController(_minerService.Object, _collectorService.Object);

            _minerService.Setup(m => m.UpdateAsync(miner, CancellationToken.None))
            .ReturnsAsync(() => false)
            .Verifiable();

            // Act
            var result = await controller.PutAsync(miner);

            // Assert
            _minerService.Verify();
            Assert.That(result, Has.Property(nameof(result.StatusCode)).EqualTo(404));
        }