public ActionResult GetPersonDetails(string personName) { var person = _starWarsService.GetPersonByName(personName); var model = Mapper.Map <PersonViewModel>(person); return(View(model)); }
public void TestGetPersonByName() { var homeworldUrl = "testHomeworldUrl"; var film1Url = "testFilm1Url"; var species1Url = "testSpecies1Url"; var vehicle1Url = "testVehicle1Url"; var starship1Url = "testStarship1Url"; var peopleJson = "{\"results\":[{\"name\": \"Luke Skywalker\", \"height\": \"172\", \"mass\": \"77\", \"hair_color\": \"blond\", \"skin_color\": \"fair\", \"eye_color\": \"blue\", \"birth_year\": \"19BBY\", \"gender\": \"male\", \"homeworld\": \"" + homeworldUrl + "\", \"films\": [\"" + film1Url + "\"], \"species\": [\"" + species1Url + "\"], \"vehicles\": [\"" + vehicle1Url + "\"], \"starships\": [\"" + starship1Url + "\"]}]}"; var homeworldJson = "{\"name\": \"Alderaan\", \"rotation_period\": \"24\", \"orbital_period\": \"364\", \"diameter\": \"12500\", \"climate\": \"temperate\",\"gravity\": \"1 standard\",\"terrain\": \"grasslands, mountains\",\"surface_water\": \"40\",\"population\": \"2000000000\",\"residents\": [\"1\",\"2\"],\"films\": [\"1\"]}"; var film1Json = "{\"title\": \"The Empire Strikes Back\"}"; var species1Json = "{\"name\": \"Human\"}"; var vehicle1Json = "{\"name\": \"Snowspeeder\"}"; var starship1Json = "{\"name\": \"X-wing\"}"; _mockHttpService.JsonResponses["https://swapi.co/api/people/"] = peopleJson; _mockHttpService.JsonResponses[homeworldUrl] = homeworldJson; _mockHttpService.JsonResponses[film1Url] = film1Json; _mockHttpService.JsonResponses[species1Url] = species1Json; _mockHttpService.JsonResponses[vehicle1Url] = vehicle1Json; _mockHttpService.JsonResponses[starship1Url] = starship1Json; var person = _starWarsService.GetPersonByName("Luke Skywalker"); // Make sure json is translated to correct attributes Assert.AreEqual(person.Height, "172"); Assert.AreEqual(person.Weight, "77"); Assert.AreEqual(person.HairColor, "blond"); Assert.AreEqual(person.SkinColor, "fair"); Assert.AreEqual(person.EyeColor, "blue"); Assert.AreEqual(person.BirthYear, "19BBY"); Assert.AreEqual(person.Gender, "male"); Assert.AreEqual(person.Homeworld, "Alderaan"); Assert.AreEqual(person.Films.Count, 1); Assert.IsTrue(person.Films.Contains("The Empire Strikes Back")); Assert.AreEqual(person.Species.Count, 1); Assert.IsTrue(person.Species.Contains("Human")); Assert.AreEqual(person.Vehicles.Count, 1); Assert.IsTrue(person.Vehicles.Contains("Snowspeeder")); Assert.AreEqual(person.StarShips.Count, 1); Assert.IsTrue(person.StarShips.Contains("X-wing")); }