public void ParkDetail_WhenCorrectParkCode_ExpectDetailInfo()
        {
            //New park
            NationalParkModel parkModel = new NationalParkModel();

            parkModel.ParkCode = "RMNP";

            //Mock the dal
            Mock <IParkDAL> mockDAL = new Mock <IParkDAL>();

            //Set up the mock object
            mockDAL.Setup(p => p.GetPark("RMNP")).Returns(parkModel);

            //Create the controller
            NationalParkController controller = new NationalParkController(mockDAL.Object);

            //Act
            var result = controller.Detail("RMNP");

            //Assert
            Assert.IsTrue(result is ViewResult);
            var view = result as ViewResult;

            Assert.AreEqual("Detail", view.ViewName);
            Assert.IsNotNull(view.Model);

            var nationalParkModel = view.Model as NationalParkModel;

            Assert.AreEqual("RMNP", nationalParkModel.ParkCode);
        }
Пример #2
0
        public NationalParkModel GetPark(string parkCode)
        {
            NationalParkModel npm = new NationalParkModel();

            try
            {
                using (SqlConnection conn = new SqlConnection(ConnectionString))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("Select * From park WHERE parkCode = @ParkCode;", conn);
                    cmd.Parameters.AddWithValue("@ParkCode", parkCode);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        npm.ParkCode              = Convert.ToString(reader["parkCode"]);
                        npm.ParkName              = Convert.ToString(reader["parkName"]);
                        npm.State                 = Convert.ToString(reader["state"]);
                        npm.Acreage               = Convert.ToInt32(reader["acreage"]);
                        npm.ElevationInFeet       = Convert.ToInt32(reader["elevationInFeet"]);
                        npm.MilesOfTrail          = Convert.ToInt32(reader["milesOfTrail"]);
                        npm.NumberOfCampsites     = Convert.ToInt32(reader["numberofCampsites"]);
                        npm.Climate               = Convert.ToString(reader["climate"]);
                        npm.YearFounded           = Convert.ToInt32(reader["yearFounded"]);
                        npm.AnnualVisitorCount    = Convert.ToInt32(reader["annualVisitorCount"]);
                        npm.Quote                 = Convert.ToString(reader["inspirationalQuote"]);
                        npm.QuoteSource           = Convert.ToString(reader["inspirationalQuoteSource"]);
                        npm.Description           = Convert.ToString(reader["parkDescription"]);
                        npm.EntryFee              = Convert.ToDecimal(reader["entryFee"]);
                        npm.NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw;
            }
            return(npm);
        }
Пример #3
0
        public ActionResult Detail(string parkCode)
        {
            NationalParkModel model = parkDAL.GetPark(parkCode);

            return(View("Detail", model));
        }