コード例 #1
0
        public void GetBands_ForVenue_ReturnsListOfBands()
        {
            //Arrange
            Venue testVenue = new Venue("The Station");

            testVenue.Save();

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

            firstBand.Save();

            Band secondBand = new Band("Allergy of Warm");

            secondBand.Save();

            //Act
            testVenue.AddBand(firstBand);
            testVenue.AddBand(secondBand);

            //Assert
            List <Band> actualResult   = testVenue.GetBands();
            List <Band> expectedResult = new List <Band> {
                secondBand, firstBand
            };

            Assert.Equal(expectedResult, actualResult);
        }
コード例 #2
0
ファイル: VenueTest.cs プロジェクト: jessemckay27/BandTracker
        public void GetBands_ReturnAllBandsFromVenue_BandList()
        {
            Venue newVenue = new Venue("The Filmore");

            newVenue.Save();

            Band testBand1 = new Band("Grateful Dead");

            testBand1.Save();

            Band testBand2 = new Band("Jerry Garcia Band");

            testBand2.Save();

            newVenue.AddBand(testBand1);
            newVenue.AddBand(testBand2);


            List <Band> savedBand = newVenue.GetBands();
            List <Band> testBand  = new List <Band> {
                testBand1, testBand2
            };

            Assert.Equal(savedBand, testBand);
        }
コード例 #3
0
        public void Venue_DeleteBandRelationship_DeletesRelationship()
        {
            Venue venue = new Venue("The Overlook", "123 1st Street");

            venue.Save();
            Band band1 = new Band("The Beatles", 4);

            band1.Save();
            Band band2 = new Band("Phantogram", 2);

            band2.Save();

            venue.AddBand(band1);
            venue.AddBand(band2);
            venue.DeleteBandRelationship(band1);

            List <Band> testList    = venue.GetBands();
            List <Band> controlList = new List <Band> {
                band2
            };

            Assert.Equal(controlList, testList);
        }
コード例 #4
0
ファイル: VenueTest.cs プロジェクト: jessemckay27/BandTracker
        public void AddBand_AddsBandToVenue_BandList()
        {
            Venue newVenue = new Venue("The Filmore");

            newVenue.Save();

            Band testBand1 = new Band("Grateful Dead");

            testBand1.Save();

            Band testBand2 = new Band("Jerry Garcia Band");

            testBand2.Save();

            newVenue.AddBand(testBand1);
            newVenue.AddBand(testBand2);

            List <Band> savedBands = newVenue.GetBands();
            List <Band> testBands  = new List <Band> {
                testBand1, testBand2
            };

            Assert.Equal(savedBands, testBands);
        }
コード例 #5
0
        public void Test_DeleteBandFromVenue()
        {
            //Arrange
            Venue newVenue = new Venue("Madison Square Garden", "NYC");

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

            firstTestBand.Save();
            newVenue.AddBand(firstTestBand);
            Band secondTestBand = new Band("Rilo Kiley");

            secondTestBand.Save();
            newVenue.AddBand(secondTestBand);
            //Act
            newVenue.DeleteBandFromVenue(secondTestBand);
            List <Band> resultList   = newVenue.GetBands();
            List <Band> expectedList = new List <Band> {
                firstTestBand
            };

            //Assert
            Assert.Equal(expectedList, resultList);
        }
コード例 #6
0
        public void Venue_AddBand_CreatesRelationShipInDB()
        {
            Band band = new Band("The Beatles", 4);

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

            venue.Save();

            venue.AddBand(band);

            List <Band> testList    = venue.GetBands();
            List <Band> controlList = new List <Band> {
                band
            };

            Assert.Equal(controlList, testList);
        }
コード例 #7
0
        public void Test_AddBand_AddBandToVenue()
        {
            //Arrange
            Band newBand = new Band("Modest Mouse");

            newBand.Save();
            Venue testVenue = new Venue("Madison Square Garden", "NYC");

            testVenue.Save();
            //Act
            testVenue.AddBand(newBand);
            List <Band> testVenueBands = testVenue.GetBands();
            List <Band> expectedList   = new List <Band> {
                newBand
            };

            //Assert
            Assert.Equal(expectedList, testVenueBands);
        }
コード例 #8
0
        public void AddBand_ForRowAddedToJoinTable_Row()
        {
            //Arrange
            Venue testVenue = new Venue("Madison Square Garden");

            testVenue.Save();
            Band testBand = new Band("The Beatles");

            testBand.Save();

            //Act
            testVenue.AddBand(testBand);

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

            Assert.Equal(expectedResult, actualResult);
        }
コード例 #9
0
        public void AddBand_ForVenueAndBand_AddsRowToJoinTable()
        {
            //Arrange
            Venue testVenue = new Venue("The Station");

            testVenue.Save();

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

            testBand.Save();

            //Act
            testVenue.AddBand(testBand);

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

            Assert.Equal(expectedResult, actualResult);
        }
コード例 #10
0
 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
 }