public async Task BalanceCreditEvent_Post_WithInvalidSignature_AndWrongEventType_Returns400()
        {
            // Arrange
            var json = json_NotBalanceCreditEvent;

            var payload = JsonConvert.DeserializeObject <BalanceDepositDTO>(json);

            // Add request header with an invalid X-Signature
            _mockController.ControllerContext = ControllerContextHelper.Create(false);

            // Act
            var result = await _mockController.ProcessBalanceCreditEventAsync(payload);

            var badResult = result as BadRequestObjectResult;

            // Assert
            Assert.NotNull(badResult);
            Assert.Equal(400, badResult.StatusCode);
        }
        public async Task BalanceCreditEvent_Post_WithValidSignature_AndCorrectEventType_Returns200()
        {
            // Arrange
            var json = json_BalanceCreditEvent;

            var payload = JsonConvert.DeserializeObject <BalanceDepositDTO>(json);

            // Add request header with a valid X-Signature
            _mockController.ControllerContext = ControllerContextHelper.Create(true);

            // Act
            var result = await _mockController.ProcessBalanceCreditEventAsync(payload);

            var okResult = result as OkObjectResult;

            // Assert
            Assert.NotNull(okResult);
            Assert.Equal(200, okResult.StatusCode);
        }