public void Local_search_searches_track_album_and_artist_names() { // Arrange HomeController controller = new HomeController(); var repo = new TestDB(); var a1 = new Album { Id = 1, Artist = "Metallica", Name = "xpto", Year = 1986 }; var a2 = new Album { Id = 2, Artist = "V/A", Name = "..And Justice for All", Year = 1988 }; var a3 = new Album { Id = 3, Artist = "xpto", Name = "Master Of Puppets", Year = 1985 }; repo.Tracks.Add(new Track { Id = 1, Artist = "Metallica", Name = "Battery", Duration = 5.12, Album = a3 }); repo.Tracks.Add(new Track { Id = 2, Artist = "xpto", Name = "Polly", Duration = 12.3, Album = a2 }); repo.Tracks.Add(new Track { Id = 3, Artist = "Nirvana", Name = "xpto", Duration = 12.3, Album = a1 }); repo.Albums.Add(a1); repo.Albums.Add(a2); repo.Albums.Add(a3); string query = "xpto"; controller._repo = repo; // TODO: Mock data mappers controller.a2mMapper = new SpotiChelas.DataMappers.AlbumToAlbumModelMapper(); controller._t2mMapper = new SpotiChelas.DataMappers.TrackToTrackModelMapper(); // Act ViewResult result = controller.Search(query) as ViewResult; var model = result.Model as SearchResult; // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(model, typeof(SearchResult)); Assert.AreEqual(1, model.Albums.Count()); Assert.AreEqual(query, model.Albums.First().Name); Assert.AreEqual(1, model.Tracks.Count()); Assert.AreEqual(query, model.Tracks.First().Name); Assert.AreEqual(1, model.Artists.Count()); Assert.AreEqual(query, model.Artists.First()); }
private void InitDB(IUnityContainer container) { var repo = container.Resolve<IDbContext>(); if (repo.Albums.Count()==0) { var album0 = new Album { Name = "...And Justice for All", Artist = "Metallica", Year = 1988 }; var track0_1 = new Track { Artist = "Metallica", Name = "Blackened", Duration = 6.41 }; var track0_2 = new Track { Artist = "Metallica", Name = "...And Justice for All", Duration = 9.46 }; var track0_3 = new Track { Artist = "Metallica", Name = "Eye of the Beholder", Duration = 6.30 }; var track0_4 = new Track { Artist = "Metallica", Name = "One", Duration = 7.27 }; var track0_5 = new Track { Artist = "Metallica", Name = "The Shortest Straw", Duration = 6.35 }; var track0_6 = new Track { Artist = "Metallica", Name = "Harvester of Sorrow", Duration = 5.45 }; var track0_7 = new Track { Artist = "Metallica", Name = "The Frayed Ends of Sanity", Duration = 7.44 }; var track0_8 = new Track { Artist = "Metallica", Name = "To Live Is to Die", Duration = 9.48 }; var track0_9 = new Track { Artist = "Metallica", Name = "Dyers Eve", Duration = 5.13 }; album0.Tracks = new List<TrackList>(); album0.Tracks.Add(new TrackList { Order = 1, Track = track0_1 }); album0.Tracks.Add(new TrackList { Order = 2, Track = track0_2 }); album0.Tracks.Add(new TrackList { Order = 3, Track = track0_3 }); album0.Tracks.Add(new TrackList { Order = 4, Track = track0_4 }); album0.Tracks.Add(new TrackList { Order = 5, Track = track0_5 }); album0.Tracks.Add(new TrackList { Order = 6, Track = track0_6 }); album0.Tracks.Add(new TrackList { Order = 7, Track = track0_7 }); album0.Tracks.Add(new TrackList { Order = 8, Track = track0_8 }); album0.Tracks.Add(new TrackList { Order = 9, Track = track0_9 }); var album1 = new Album { Name = "Nevermind", Artist = "Nirvana", Year = 1991 }; var track1_1 = new Track { Artist = "Nirvana", Duration = 5.02, Name = "Smells Like Teen Spirit" }; var track1_2 = new Track { Artist = "Nirvana", Duration = 4.15, Name = "In Bloom" }; var track1_3 = new Track { Artist = "Nirvana", Duration = 3.39, Name = "Come as You Are" }; var track1_4 = new Track { Artist = "Nirvana", Duration = 3.04, Name = "Breed" }; var track1_5 = new Track { Artist = "Nirvana", Duration = 4.17, Name = "Lithium" }; var track1_6 = new Track { Artist = "Nirvana", Duration = 2.57, Name = "Polly" }; var track1_7 = new Track { Artist = "Nirvana", Duration = 2.23, Name = "Territorial Pissings" }; var track1_8 = new Track { Artist = "Nirvana", Duration = 3.44, Name = "Drain You" }; var track1_9 = new Track { Artist = "Nirvana", Duration = 2.37, Name = "Lounge Act" }; var track1_10 = new Track { Artist = "Nirvana", Duration = 3.32, Name = "Stay Away" }; var track1_11 = new Track { Artist = "Nirvana", Duration = 3.16, Name = "On a Plain" }; var track1_12 = new Track { Artist = "Nirvana", Duration = 3.48, Name = "Something in the Way" }; var track1_13 = new Track { Artist = "Nirvana", Duration = 6.44, Name = "Endless, Nameless" }; album1.Tracks = new List<TrackList>(); album1.Tracks.Add(new TrackList { Order = 1, Track = track1_1 }); album1.Tracks.Add(new TrackList { Order = 2, Track = track1_2 }); album1.Tracks.Add(new TrackList { Order = 3, Track = track1_3 }); album1.Tracks.Add(new TrackList { Order = 4, Track = track1_4 }); album1.Tracks.Add(new TrackList { Order = 5, Track = track1_5 }); album1.Tracks.Add(new TrackList { Order = 6, Track = track1_6 }); album1.Tracks.Add(new TrackList { Order = 7, Track = track1_7 }); album1.Tracks.Add(new TrackList { Order = 8, Track = track1_8 }); album1.Tracks.Add(new TrackList { Order = 9, Track = track1_9 }); album1.Tracks.Add(new TrackList { Order = 10, Track = track1_10 }); album1.Tracks.Add(new TrackList { Order = 11, Track = track1_11 }); album1.Tracks.Add(new TrackList { Order = 12, Track = track1_12 }); album1.Tracks.Add(new TrackList { Order = 13, Track = track1_13 }); var album2 = new Album { Name = "Now", Artist = "The Rolling Stones", Year = 1965 }; var track2_1 = new Track { Artist = "The Rolling Stones", Duration = 3.01, Name = "Everybody Needs Somebody to Love" }; var track2_2 = new Track { Artist = "The Rolling Stones", Duration = 4.10, Name = "Down Home Girl" }; var track2_3 = new Track { Artist = "The Rolling Stones", Duration = 3.35, Name = "You Can't Catch Me" }; var track2_4 = new Track { Artist = "The Rolling Stones", Duration = 2.43, Name = "Heart of Stone" }; var track2_5 = new Track { Artist = "The Rolling Stones", Duration = 3.09, Name = "What a Shame" }; var track2_6 = new Track { Artist = "The Rolling Stones", Duration = 3.37, Name = "Mona (I Need You Baby)" }; var track2_7 = new Track { Artist = "The Rolling Stones", Duration = 3.02, Name = "Down the Road Apiece" }; var track2_8 = new Track { Artist = "The Rolling Stones", Duration = 2.34, Name = "Off the Hook" }; var track2_9 = new Track { Artist = "The Rolling Stones", Duration = 2.14, Name = "Pain in My Hear" }; var track2_10 = new Track { Artist = "The Rolling Stones", Duration = 2.10, Name = "Oh Baby (We Got a Good Thing Goin')" }; var track2_11 = new Track { Artist = "The Rolling Stones", Duration = 3.04, Name = "Little Red Rooster" }; var track2_12 = new Track { Artist = "The Rolling Stones", Duration = 2.30, Name = "Surprise, Surprise" }; album2.Tracks = new List<TrackList>(); album2.Tracks.Add(new TrackList { Order = 1, Track = track2_1 }); album2.Tracks.Add(new TrackList { Order = 2, Track = track2_2 }); album2.Tracks.Add(new TrackList { Order = 3, Track = track2_3 }); album2.Tracks.Add(new TrackList { Order = 4, Track = track2_4 }); album2.Tracks.Add(new TrackList { Order = 5, Track = track2_5 }); album2.Tracks.Add(new TrackList { Order = 6, Track = track2_6 }); album2.Tracks.Add(new TrackList { Order = 7, Track = track2_7 }); album2.Tracks.Add(new TrackList { Order = 8, Track = track2_8 }); album2.Tracks.Add(new TrackList { Order = 9, Track = track2_9 }); album2.Tracks.Add(new TrackList { Order = 10, Track = track2_10 }); album2.Tracks.Add(new TrackList { Order = 11, Track = track2_11 }); album2.Tracks.Add(new TrackList { Order = 12, Track = track2_12 }); repo.Albums.Add(album0); repo.Albums.Add(album1); repo.Albums.Add(album2); repo.SaveChanges(); } }