public async Task PUT_Updates_Data()
        {
            var controller = new StationsController(Context);

            ConfigureRequest(controller);

            var model = new StationModel
            {
                Id       = Guid.Parse("{69EA67A4-C575-472B-B463-C156E5BA61F3}"),
                Name     = "Test No Id",
                RegionId = DefaultRegionId
            };

            //setup database record
            Context.Stations.Add(new Station
            {
                Id       = model.Id,
                Name     = model.Name,
                RegionId = DefaultRegionId
            });
            Context.SaveChanges();

            model.Name = "My New Name";

            var result = await GetData <StationModel>(controller.Put(model));

            Assert.AreEqual(model.Name, result.Name);
        }
        public async Task Stations_Change()
        {
            // Arrange
            var service    = new StationService();
            var controller = new StationsController(service);
            var nowObject  = new Station
            {
                CallSign = "2DayFM",
                Code     = "2DayFM",
                City     = "Sydney",
                State    = "NSW"
            };

            // Act
            var result = await controller.Put(20, nowObject);

            // Assert
            var okResult = result.Should().BeOfType <NoContentResult>().Subject;

            var station = service.Get(20);

            station.Id.Should().Be(20);
            station.CallSign.Should().Be("2DayFM");
            station.Code.Should().Be("2DayFM");
            station.City.Should().Be("Sydney");
            station.State.Should().Be("NSW");
        }
        public async Task PUT_Is_Bad_Request_Null_Data()
        {
            var controller = new StationsController(Context);

            ConfigureRequest(controller);

            var result = await GetResponse(controller.Put(null));

            Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode);
        }
        public async Task PUT_Is_Bad_Request_Missing_Id()
        {
            var controller = new StationsController(Context);

            ConfigureRequest(controller);

            var model = new StationModel {
                Name = "Test No Id"
            };

            var result = await GetResponse(controller.Put(model));

            Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode);
        }