コード例 #1
0
        public void Edit_Post_EditsRecordAndSavesToDb()
        {
            // Arrange
            _context.Lunches.Add(new Lunch
            {
                Host        = "Brent",
                Restaurants = new List <Restaurant>
                {
                    new Restaurant
                    {
                        Name      = "Lunchbox Labs",
                        Latitude  = 55,
                        Longitude = 99
                    }
                },
                MeetingTime = new DateTime(1999, 12, 31)
            });
            _context.SaveChanges();
            var controller = new LunchesController(_context);

            var editableRecordId    = _context.Restaurants.First().Id;
            var recordEditGetResult = controller.Edit(editableRecordId) as ViewResult;

            var recordToEdit = recordEditGetResult.Model as LunchCreateEditViewModel;

            recordToEdit.Host = "Bob";

            // Act
            var result = controller.Edit(editableRecordId, recordToEdit) as RedirectToRouteResult;

            // Assert
            _context.Lunches.First().Host.ShouldBe("Bob");
            result.RouteValues["action"].ShouldBe("Index");
        }
コード例 #2
0
        public void Edit_Get_ShowsRestaurantInTheView()
        {
            // Arrange
            _context.Lunches.Add(new Lunch
            {
                Host        = "Brent",
                Restaurants = new List <Restaurant>
                {
                    new Restaurant
                    {
                        Name      = "Lunchbox Labs",
                        Latitude  = 55,
                        Longitude = 99
                    }
                },
                MeetingTime = new DateTime(1999, 12, 31)
            });
            _context.SaveChanges();
            var controller = new LunchesController(_context);

            // Act
            var Id     = _context.Lunches.First().Id;
            var result = controller.Edit(Id) as ViewResult;

            // Assert
            result.ShouldNotBeNull();
            result.Model.ShouldBeOfType <LunchCreateEditViewModel>();
        }
コード例 #3
0
        public void Edit_Get_ThrowsIfRecordIdIsNull()
        {
            var controller = new LunchesController(_context);

            // Act
            var result = controller.Edit(null) as HttpStatusCodeResult;

            // Assert
            result.ShouldBeOfType <HttpStatusCodeResult>();
            result.StatusCode.ShouldBe(400);
        }