Example #1
0
        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());
        }
Example #2
0
        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();
            }
        }