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