public static CrossCutting.TransferObjects.Track ToTransferObject(this Domain.Track Domain)
        {
            return(new CrossCutting.TransferObjects.Track
            {
                Id = Domain.Id,
                Title = Domain.Title,
                Number = Domain.Number,
                Position = Domain.Position,
                Length = Domain.Length,

                AlbumId = Domain.AlbumId
            });
        }
示例#2
0
        public async Task DomainEventsSuccessfullyRaisesDomainEvent()
        {
            Domain.Track song = new Domain.Track
            {
                Artists = new List <Artist> {
                    new Artist {
                        Id = "123", Name = SONG_ARTIST
                    }
                },
                Length = SONG_LENGTH,
                Name   = SONG_TITLE,
                Id     = SONG_URI
            };

            DomainEvents.Register <ChangeTrack>(changedSong =>
            {
                Assert.AreEqual(PARTY_CODE, changedSong.PartyCode);
                Assert.AreEqual(song, changedSong.Track);
                Assert.AreEqual(PROGRESS_MS, changedSong.ProgressMs);
                Assert.Pass();
            });

            await DomainEvents.RaiseAsync(new ChangeTrack
            {
                PartyCode  = PARTY_CODE,
                ProgressMs = PROGRESS_MS,
                Track      = song,
                Listeners  = new List <PartyGoer>
                {
                    new PartyGoer(PARTY_GOER_ID_1, false, "US", "premium")
                }
            });

            DomainEvents.ClearCallbacks();

            // If event doesn't get raised,
            Assert.Fail();
        }