public void Put_invalid_data_returns_bad_request()
        {
            // Arrange
            var invalidViewModel = new EmployerVM();

            _controller.ModelState.AddModelError("value", "Required");
            // Act
            var result = _controller.Put(invalidViewModel.id, invalidViewModel);

            // Assert
            Assert.IsInstanceOfType(result.Result, typeof(BadRequestObjectResult));
        }
        public void Post_valid_data_returns_created_at_route()
        {
            // arrange
            var validViewModel = new EmployerVM()
            {
                name = "Peter Parker"
            };
            // act
            var result = _controller.Post(validViewModel);

            //assert
            Assert.IsInstanceOfType(result.Result, typeof(CreatedAtActionResult));
        }
        public void Post_valid_data_returns_new_record_in_data_oject()
        {
            // arrange
            var validViewModel = new EmployerVM()
            {
                name = "Jimmy Hendrix"
            };
            // act
            var result            = _controller.Post(validViewModel);
            var typedResult       = (result.Result as ObjectResult).Value;
            var returnedViewModel = UnitTestExtensions.ExtractFromDataObject <EmployerVM>(typedResult);
            var resultHasDataProp = typedResult.GetType().GetProperty("data") != null;

            //assert
            Assert.IsInstanceOfType(returnedViewModel, typeof(EmployerVM));
            Assert.IsTrue(resultHasDataProp);
        }