public void GetVenues_ForBand_ReturnsListOfVenues()
        {
            //Arrange
            Band testBand = new Band("Pajama Funnel");

            testBand.Save();

            Venue firstVenue = new Venue("The Station");

            firstVenue.Save();

            Venue secondVenue = new Venue("Club Fiber");

            secondVenue.Save();

            //Act
            testBand.AddVenue(firstVenue);
            testBand.AddVenue(secondVenue);

            //Assert
            List <Venue> actualResult   = testBand.GetVenues();
            List <Venue> expectedResult = new List <Venue> {
                secondVenue, firstVenue
            };

            Assert.Equal(expectedResult, actualResult);
        }
Example #2
0
        public void GetVenues_FindsVenuesBandPlayedAt_List()
        {
            //Arrange
            Band         testBand  = new Band("The Beatles");
            List <Venue> allVenues = testBand.GetVenues();

            //Assert
            List <Venue> actualResult   = allVenues;
            List <Venue> expectedResult = new List <Venue> {
            };

            Assert.Equal(expectedResult, actualResult);
        }
        public void Test_AddShow_AddsAShowWithBandAndVenue()
        {
            //Arrange
              Band testBand = new Band("Ween");
              testBand.Save();
              Venue testVenue = new Venue("Chad's");
              testVenue.Save();

              //Act
              testVenue.AddShow(testBand.GetId(), testDate);
              List<Venue> expectedVenue = new List<Venue> {testVenue};
              List<Venue> result= testBand.GetVenues();

              //Assert
              Assert.Equal(expectedVenue, result);
        }
        public void Band_AddVenue_CreatesRelationShipInDB()
        {
            Band band = new Band("The Beatles", 4);

            band.Save();
            Venue venue = new Venue("Wonder Ballroom", "128 NE Russell St");

            venue.Save();

            band.AddVenue(venue);

            List <Venue> testList    = band.GetVenues();
            List <Venue> controlList = new List <Venue> {
                venue
            };

            Assert.Equal(controlList, testList);
        }
        public void Test_AddVenue_AddVenueToBand()
        {
            //Arrange
            Venue newVenue = new Venue("Madison Square Garden", "NYC");

            newVenue.Save();
            Band testBand = new Band("Modest Mouse");

            testBand.Save();
            //Act
            testBand.AddVenue(newVenue);
            List <Venue> testBandVenues = testBand.GetVenues();
            List <Venue> expectedList   = new List <Venue> {
                newVenue
            };

            //Assert
            Assert.Equal(expectedList, testBandVenues);
        }
Example #6
0
        public void AddVenue_ForRowAddedToJoinTable_Row()
        {
            //Arrange
            Band testBand = new Band("The Beatles");

            testBand.Save();
            Venue testVenue = new Venue("Madison Square Garden");

            testVenue.Save();

            //Act
            testBand.AddVenue(testVenue);

            //Assert
            List <Venue> actualResult   = testBand.GetVenues();
            List <Venue> expectedResult = new List <Venue> {
                testVenue
            };

            Assert.Equal(expectedResult, actualResult);
        }
        public void AddVenue_ForVenueAndBand_AddsRowToJoinTable()
        {
            //Arrange
            Venue testVenue = new Venue("The Station");

            testVenue.Save();

            Band testBand = new Band("Pajama Funnel");

            testBand.Save();

            //Act
            testBand.AddVenue(testVenue);

            //Assert
            List <Venue> actualResult   = testBand.GetVenues();
            List <Venue> expectedResult = new List <Venue> {
                testVenue
            };

            Assert.Equal(expectedResult, actualResult);
        }
Example #8
0
        public void GetVenues_ReturnAllVenuesFromBand_VenueList()
        {
            Band newBand = new Band("Grateful Dead");

            newBand.Save();

            Venue testVenue1 = new Venue("The Filmore");

            testVenue1.Save();

            Venue testVenue2 = new Venue("Cornell University");

            testVenue2.Save();

            newBand.AddVenue(testVenue1);
            newBand.AddVenue(testVenue2);

            List <Venue> savedVenue = newBand.GetVenues();
            List <Venue> testVenue  = new List <Venue> {
                testVenue1, testVenue2
            };

            Assert.Equal(savedVenue, testVenue);
        }
Example #9
0
        public void AddVenue_AddsVenueToBand_VenueList()
        {
            Band newBand = new Band("Grateful Dead");

            newBand.Save();

            Venue testVenue1 = new Venue("The Filmore");

            testVenue1.Save();

            Venue testVenue2 = new Venue("Cornell University");

            testVenue2.Save();

            newBand.AddVenue(testVenue1);
            newBand.AddVenue(testVenue2);

            List <Venue> savedVenues = newBand.GetVenues();
            List <Venue> testVenues  = new List <Venue> {
                testVenue1, testVenue2
            };

            Assert.Equal(savedVenues, testVenues);
        }
 public HomeModule()
 {
     Get["/"] = _ => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         model.Add("listBands", Band.GetAll());
         model.Add("listVenues", Venue.GetAll());
         model.Add("show-info", null);
         return(View["index.cshtml", model]);
     }; //homepage with lists of venues/bands, buttons to add venue/band
     Get["/bands/new"] = _ => {
         Dictionary <string, string> model = new Dictionary <string, string> {
         };
         model.Add("form-type", "new-band");
         return(View["form.cshtml", model]);
     }; //returns form to add new band
     Post["/bands/new"] = _ => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band band = new Band(Request.Form["band-name"]);
         band.Save();
         model.Add("listBands", Band.GetAll());
         model.Add("listVenues", Venue.GetAll());
         model.Add("newBand", band);
         model.Add("show-info", "new-band-info");
         return(View["index.cshtml", model]);
     }; //posts from form adding new band
     Get["/venues/new"] = _ => {
         Dictionary <string, string> model = new Dictionary <string, string> {
         };
         model.Add("form-type", "new-venue");
         return(View["form.cshtml", model]);
     }; //returns form to add new venue
     Post["/venues/new"] = _ => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue venue = new Venue(Request.Form["venue-name"], Request.Form["venue-city"]);
         venue.Save();
         model.Add("listBands", Band.GetAll());
         model.Add("listVenues", Venue.GetAll());
         model.Add("newVenue", venue);
         model.Add("show-info", "new-venue-info");
         return(View["index.cshtml", model]);
     }; //posts from form adding new venue
     Get["/bands/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Band         selectedBand         = Band.Find(parameters.id);
         List <Venue> bandVenues           = selectedBand.GetVenues();
         model.Add("band", selectedBand);
         model.Add("venues", bandVenues);
         return(View["band.cshtml", model]);
     }; //retrieves individual band pages
     Get["/venues/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Venue       selectedVenue         = Venue.Find(parameters.id);
         List <Band> venueBands            = selectedVenue.GetBands();
         model.Add("venue", selectedVenue);
         model.Add("bands", venueBands);
         return(View["venue.cshtml", model]);
     }; //retrieves individual venue pages
     Get["/band/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band   selectedBand = Band.Find(parameters.id);
         string bandEdit     = Request.Query["band-edit"];
         model.Add("form-type", bandEdit);
         model.Add("band", selectedBand);
         return(View["edit.cshtml", model]);
     }; //edit individual band
     Patch["/band/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Band selectedBand = Band.Find(parameters.id);
         selectedBand.UpdateBand(Request.Form["band-name"]);
         List <Venue> bandVenues = selectedBand.GetVenues();
         model.Add("band", selectedBand);
         model.Add("venues", bandVenues);
         return(View["band.cshtml", model]);
     }; //returns edited band page
     Get["/band/{id}/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band   selectedBand = Band.Find(parameters.id);
         string bandDelete   = Request.Query["band-delete"];
         model.Add("form-type", bandDelete);
         model.Add("band", selectedBand);
         return(View["delete.cshtml", model]);
     }; //delete individual band
     Delete["/band/{id}/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band selectedBand = Band.Find(parameters.id);
         selectedBand.Delete();
         model.Add("listBands", Band.GetAll());
         model.Add("listVenues", Venue.GetAll());
         model.Add("show-info", null);
         return(View["index.cshtml", model]);
     }; //returns confirmation of deleted band
     Get["/venue/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue  selectedVenue = Venue.Find(parameters.id);
         string venueEdit     = Request.Query["venue-edit"];
         model.Add("form-type", venueEdit);
         model.Add("venue", selectedVenue);
         return(View["edit.cshtml", model]);
     }; //edit individual venue
     Patch["/venue/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Venue selectedVenue = Venue.Find(parameters.id);
         selectedVenue.UpdateVenue(Request.Form["venue-name"], Request.Form["venue-city"]);
         List <Band> venueBands = selectedVenue.GetBands();
         model.Add("venue", selectedVenue);
         model.Add("bands", venueBands);
         return(View["venue.cshtml", model]);
     }; //returns edited venue page
     Get["/venue/{id}/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue  selectedVenue = Venue.Find(parameters.id);
         string venueDelete   = Request.Query["venue-delete"];
         model.Add("form-type", venueDelete);
         model.Add("venue", selectedVenue);
         return(View["delete.cshtml", model]);
     }; //delete individual venue
     Delete["/venue/{id}/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         selectedVenue.Delete();
         model.Add("listBands", Band.GetAll());
         model.Add("listVenues", Venue.GetAll());
         model.Add("show-info", null);
         return(View["index.cshtml", model]);
     }; //returns confirmation of deleted venue
     Get["/venues/{id}/bands/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         model.Add("venue", selectedVenue);
         model.Add("listBands", Band.GetAll());
         return(View["add_band.cshtml", model]);
     }; //navigates to form to add band to venue
     Post["/venues/{id}/bands/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         Band  selectedBand  = Band.Find(Request.Form["add-band"]);
         selectedVenue.AddBand(selectedBand);
         model.Add("venue", selectedVenue);
         model.Add("bands", selectedVenue.GetBands());
         return(View["venue.cshtml", model]);
     }; //posts from form adding band to venue
     Get["/bands/{id}/venues/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band selectedBand = Band.Find(parameters.id);
         model.Add("band", selectedBand);
         model.Add("listVenues", Venue.GetAll());
         return(View["add_venue.cshtml", model]);
     }; //navigates to form to add venue to band
     Post["/bands/{id}/venues/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band  selectedBand  = Band.Find(parameters.id);
         Venue selectedVenue = Venue.Find(Request.Form["add-venue"]);
         selectedBand.AddVenue(selectedVenue);
         model.Add("band", selectedBand);
         model.Add("venues", selectedBand.GetVenues());
         return(View["band.cshtml", model]);
     }; //posts from form adding venue to band
 }