public void Post_Valid_Test()
        {
            // Arrange
            PlayerEvaluation PlayerEvaluationObjAsInput = new PlayerEvaluation();

            PlayerEvaluationObjAsInput.sportId         = 1;
            PlayerEvaluationObjAsInput.playerId        = 1;
            PlayerEvaluationObjAsInput.perfParaName    = new PerformanceParameterName();
            PlayerEvaluationObjAsInput.perfParaName.id = 1;
            PlayerEvaluationObjAsInput.selectedType    = new PerformanceParameterType();
            PlayerEvaluationObjAsInput.selectedType.id = 1;
            PlayerEvaluationObjAsInput.value           = "100";

            var mockRepository = new Mock <IPlayerEvaluationRepository>();

            mockRepository.Setup(x => x.InsertPlayerEvaluation(PlayerEvaluationObjAsInput))
            .Returns(1);

            var controller = new PlayerEvaluationController(mockRepository.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            HttpResponseMessage response = controller.Post(PlayerEvaluationObjAsInput);

            // Assert
            string responseJSONStr = response.Content.ReadAsStringAsync().Result;
            string responseStr     = Helper.Deserialize <string>(responseJSONStr);

            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
            Assert.AreEqual(responseStr, "PlayerEvaluation added successfully.");
        }
        public void Post_Null_Input_Test()
        {
            // Arrange
            var mockRepository = new Mock <IPlayerEvaluationRepository>();

            var controller = new PlayerEvaluationController(mockRepository.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            HttpResponseMessage response = controller.Post(null);

            // Assert
            string responseJSONStr = response.Content.ReadAsStringAsync().Result;
            string responseStr     = Helper.Deserialize <string>(responseJSONStr);

            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.NoContent);
            Assert.AreEqual(responseStr, "Invalid JSON Passed.");
        }
        public void Delete_Valid_Test()
        {
            // Arrange
            var mockRepository = new Mock <IPlayerEvaluationRepository>();

            mockRepository.Setup(x => x.DeletePlayerEvaluation(1))
            .Returns(true);

            var controller = new PlayerEvaluationController(mockRepository.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            HttpResponseMessage response = controller.Delete(1);

            // Assert
            string responseJSONStr = response.Content.ReadAsStringAsync().Result;
            string responseStr     = Helper.Deserialize <string>(responseJSONStr);

            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
            Assert.AreEqual(responseStr, "PlayerEvaluation successfully deleted.");
        }