public async Task ApplySecurityContractAsync_WithNullInput_ReturnsBadRequest()
        {
            // Arrange
            var securityContractService = Substitute.For <ISecurityContractService>();
            var controller = new SecurityContractController(securityContractService);

            // Act
            var actionResult = await controller.ApplySecurityContractAsync(null);

            // Assert
            var badRequestResult = actionResult as BadRequestResult;

            Assert.NotNull(badRequestResult);
        }
        public async Task ApplySecurityContractAsync_WithValidNoSectionsInput_ReturnsNoContent()
        {
            // Arrange
            var securityContractService = Substitute.For <ISecurityContractService>();
            var controller = new SecurityContractController(securityContractService);

            // A security contract with all it's sub components set to null is a valid security contract.
            var securityContract = new SecurityContract();

            // Act
            var actionResult = await controller.ApplySecurityContractAsync(securityContract);

            // Assert
            var NoContent = actionResult as NoContentResult;

            Assert.NotNull(NoContent);
        }