Esempio n. 1
0
        public void Cancel_WhenCalled_ShouldRemoveTheGivenGig()
        {
            // Arrange
            var user = _context.Users.First();

            _controller.MockCurrentUser(user.Id, user.Name);

            var genre = _context.Genres.Single(g => g.Id == 1);
            var gig   = new Gig {
                Artist = user, DateTime = DateTime.Now.AddDays(1), Genre = genre, Venue = "-"
            };

            _context.Gigs.Add(gig);
            //_context.SaveChanges();

            var gig2 = new Gig {
                Artist = user, DateTime = DateTime.Now.AddDays(1), Genre = genre, Venue = "-"
            };

            _context.Gigs.Add(gig2);

            _context.SaveChanges();

            //Act
            _controller.Cancel(gig.Id);

            // Assert
            _context.Gigs.Find(gig2.Id).Should().NotBe(null);
            _context.Gigs.SingleOrDefault(g => g.Id == 1).Should().BeNull();
        }
        public void Cancel_WhenCalled_ShouldCancelTheGig()
        {
            //Arrange
            ApplicationUser user = _context.Users.First();

            _controller.MockApiCurrentUser(user.UserName, user.Id);

            Genre genre = _context.Genres.First();
            Gig   gig   = new Gig
            {
                Artist   = user,
                Datetime = DateTime.Now.AddDays(1),
                Genre    = genre,
                Venue    = "-",
            };

            _context.Gigs.Add(gig);
            _context.SaveChanges();

            //Act
            var result = _controller.Cancel(gig.Id);

            //now we will have to reload it to get id of the gig

            //Assert
            //_context.Entry(gig).Reload();
            // We don't need to reload the gig here, because we already have actual gig object
            // in the case of update, we had ViewModel instead of actual gig object
            gig.IsCanceled.Should().BeTrue();
        }