// GET: Track/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Track track = db.Find(id); if (track == null) { return(HttpNotFound()); } return(View(track)); }
public async Task Find_given_existing_id_returns_mapped_TrackDTO() { using (var connection = new SqliteConnection("DataSource=:memory:")) { connection.Open(); var builder = new DbContextOptionsBuilder <SlotCarContext>() .UseSqlite(connection); var context = new SlotCarContext(builder.Options); await context.Database.EnsureCreatedAsync(); var entity = new Track { Name = "name", LengthInMeters = 12.5, BestLapInTicks = TimeSpan.FromSeconds(6.3).Ticks, MaxCars = 4, Races = new[] { new Race { NumberOfLaps = 12 }, new Race { NumberOfLaps = 24 } } }; context.Tracks.Add(entity); await context.SaveChangesAsync(); var id = entity.Id; using (var repository = new TrackRepository(context)) { var track = await repository.Find(id); Assert.Equal("name", track.Name); Assert.Equal(12.5, track.LengthInMeters); Assert.Equal(TimeSpan.FromSeconds(6.3), track.BestLap); Assert.Equal(4, track.MaxCars); Assert.Equal(2, track.NumberOfRaces); } } }
public async Task Find_given_non_existing_id_returns_null() { using (var connection = new SqliteConnection("DataSource=:memory:")) { connection.Open(); var builder = new DbContextOptionsBuilder <SlotCarContext>() .UseSqlite(connection); var context = new SlotCarContext(builder.Options); await context.Database.EnsureCreatedAsync(); using (var repository = new TrackRepository(context)) { var track = await repository.Find(42); Assert.Null(track); } } }
public async Task Update_given_id_updates_track() { var track = new TrackCreateDTO() { Name = "Awesome Track" }; var updatedTrack = new TrackUpdateDTO() { Name = "Awesome Track", MaxCars = 12, LengthInMeters = 5000 }; var repo = new TrackRepository(context); await repo.Create(track); var controller = new TracksController(repo); var put = await controller.Put(1, updatedTrack) as OkObjectResult; var actual = await repo.Find(1); Assert.Equal(updatedTrack.MaxCars, actual.MaxCars); Assert.Equal(updatedTrack.LengthInMeters, actual.LengthInMeters); }