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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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 }