Exemplo n.º 1
0
        public void Test_Get_Track_With_Playlists_Info()
        {
            // Arrange
            var controller = new Mock<PlaylistController>();
            var repo = new TestDB();
            var t1 = new Track { Id=1, Artist = "Metallica", Name = "Battery", Duration = 5.12 };
            var t2 = new Track { Id=2, Artist = "Nirvana", Name = "Polly", Duration = 2.3 };
            var tl1 = new TrackList{ ID=1, Order=1, Track=t1 };
            var tl2 = new TrackList{ ID=2, Order=2, Track=t2 };
            var tl3 = new TrackList{ ID=3, Order=1, Track=t2 };

            ICollection<TrackList> ts1 = new TrackList[] {tl1,tl2};
            ICollection<TrackList> ts2 = new TrackList[] {tl3};

            var pl1 = new Playlist{ Id=1, Name="pl1", Tracks=ts1};
            var pl2 = new Playlist{ Id=2, Name="pl2", Tracks=ts2};

            repo.Tracks.Add(t1);
            repo.Tracks.Add(t2);

            repo.UsersInfo.Add(new UserInfo { Name="xpto", Username="******", Playlists=new []{pl1,pl2}});
            controller.Object._repo = repo;

            var principal = new Mock<System.Security.Principal.IPrincipal>();
            principal.Setup(x => x.Identity.Name).Returns("xpto");

            var ctx = new Mock<HttpContextBase>();
            ctx.Setup(x => x.User).Returns(principal.Object);

            var controllerContextMock = new Mock<ControllerContext>();
            controllerContextMock.SetupGet(x => x.HttpContext).Returns(ctx.Object);

            controller.Object.ControllerContext = controllerContextMock.Object;
            // TODO: Mock data mappers
            controller.Object._t2tipmMapper = new SpotiChelas.DataMappers.TrackToTrackInPlaylistModelMapper{};
            controller.Object._p2mMapper = new SpotiChelas.DataMappers.PlaylistToPlaylistModelMapper{ trackMapper=new SpotiChelas.DataMappers.TrackToTrackModelMapper()};

            // Act
            var result = controller.Object.GetTrack(1);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Id);
            Assert.AreEqual(1, result.OnPlaylists.Count());
            Assert.AreEqual(1, result.NotOnPlaylists.Count());
            Assert.AreEqual(pl1.Name, result.OnPlaylists.First().Name);
            Assert.AreEqual(pl2.Name, result.NotOnPlaylists.First().Name);
        }
Exemplo n.º 2
0
        public void Createjs(String name, String description)
        {
            Playlist playlist = new Playlist() { Name = name, Description = description, Tracks = null, Id = 0 };

            var user = _repo.UsersInfo.Single(u => u.Username.Equals(User.Identity.Name));
            user.Playlists.Add(playlist);
            _repo.SaveChanges();
        }