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); }
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); }
public ActionResult Detail(string parkCode) { NationalParkModel model = parkDAL.GetPark(parkCode); return(View("Detail", model)); }