Exemple #1
0
        public void CallContextSaveChangesOnce_WhenInvoked()
        {
            // Arrange
            var songRepo   = new Mock <IEfContextWrapper <Song> >();
            var artistRepo = new Mock <IEfContextWrapper <Artist> >();
            var albumRepo  = new Mock <IEfContextWrapper <Album> >();
            var genreRepo  = new Mock <IEfContextWrapper <Genre> >();
            var context    = new Mock <ISaveContext>();

            artistRepo.Setup(x => x.Add(It.IsAny <Artist>()));
            context.Setup(x => x.SaveChanges());

            var artistName = "Name";

            var sut = new CreationService(
                songRepo.Object,
                artistRepo.Object,
                albumRepo.Object,
                genreRepo.Object,
                context.Object);

            // Act
            sut.CreateArtist(artistName);

            // Assert
            context.Verify(x => x.SaveChanges(), Times.Once);
        }
Exemple #2
0
 /// <summary>
 ///     Basic constructor
 /// </summary>
 /// <param name="creationService"></param>
 /// <param name="creationRepository"></param>
 /// <param name="gameLevelService"></param>
 public GameService(CreationService creationService,
                    CreationRepository creationRepository,
                    GameLevelService gameLevelService)
 {
     this.creationService    = creationService;
     this.creationRepository = creationRepository;
     this.gameLevelService   = gameLevelService;
 }
Exemple #3
0
 public EventManagementController(
     ISearchService searchService,
     DeletionService deletionService,
     CreationService creationService,
     EditService editService,
     IHostingEnvironment hostingEnvironment)
 {
     _searchService      = searchService;
     _deletionService    = deletionService;
     _creationService    = creationService;
     _editService        = editService;
     _hostingEnvironment = hostingEnvironment;
 }
        public void CallArtistRepoPropertyAllOnce_WhenInvoked()
        {
            // Arrange
            var songRepo   = new Mock <IEfContextWrapper <Song> >();
            var artistRepo = new Mock <IEfContextWrapper <Artist> >();
            var albumRepo  = new Mock <IEfContextWrapper <Album> >();
            var genreRepo  = new Mock <IEfContextWrapper <Genre> >();
            var context    = new Mock <ISaveContext>();

            var title          = "Title";
            var artistName     = "Artist Name";
            var albumName      = "Album Name";
            int?duration       = 5;
            var lyrics         = "Lyrics";
            var videoUrl       = "VideUrl";
            var selectedGenres = new List <string>()
            {
                "Genre Name"
            };

            var artistCollection = new List <Artist>()
            {
                new Artist()
                {
                    Name = artistName
                }
            };

            artistRepo.Setup(x => x.All).Returns(() => artistCollection.AsQueryable());

            var sut = new CreationService(
                songRepo.Object,
                artistRepo.Object,
                albumRepo.Object,
                genreRepo.Object,
                context.Object);

            // Act
            sut.CreateSong(title, artistName, albumName, duration, selectedGenres, lyrics, videoUrl);

            // Assert
            artistRepo.Verify(x => x.All, Times.Once);
        }
        public void CallContextSaveChangesOnce_WhenInvoked()
        {
            // Arrange
            var songRepo   = new Mock <IEfContextWrapper <Song> >();
            var artistRepo = new Mock <IEfContextWrapper <Artist> >();
            var albumRepo  = new Mock <IEfContextWrapper <Album> >();
            var genreRepo  = new Mock <IEfContextWrapper <Genre> >();
            var context    = new Mock <ISaveContext>();

            var title      = "Title";
            var artistName = "Artist Name";
            var coverUrl   = "CoverUrl";

            var artistCollection = new List <Artist>()
            {
                new Artist()
                {
                    Name = artistName
                }
            };

            artistRepo.Setup(x => x.All).Returns(() => artistCollection.AsQueryable());
            artistRepo.Setup(x => x.Add(It.IsAny <Artist>()));
            albumRepo.Setup(x => x.Add(It.IsAny <Album>()));
            context.Setup(x => x.SaveChanges());

            var sut = new CreationService(
                songRepo.Object,
                artistRepo.Object,
                albumRepo.Object,
                genreRepo.Object,
                context.Object);

            // Act
            sut.CreateAlbum(title, artistName, coverUrl);

            // Assert
            context.Verify(x => x.SaveChanges(), Times.Once);
        }
        public void CallCreateArtist_IfArtistRepoDoesNotFindArtistWithGivenName()
        {
            // Arrange
            var songRepo   = new Mock <IEfContextWrapper <Song> >();
            var artistRepo = new Mock <IEfContextWrapper <Artist> >();
            var albumRepo  = new Mock <IEfContextWrapper <Album> >();
            var genreRepo  = new Mock <IEfContextWrapper <Genre> >();
            var context    = new Mock <ISaveContext>();

            var title      = "Title";
            var artistName = "Artist Name";
            var coverUrl   = "CoverUrl";

            var artistCollection = new List <Artist>()
            {
                new Artist()
                {
                    Name = "Some Name"
                }
            };

            artistRepo.Setup(x => x.All).Returns(() => artistCollection.AsQueryable());
            artistRepo.Setup(x => x.Add(It.IsAny <Artist>()));

            var sut = new CreationService(
                songRepo.Object,
                artistRepo.Object,
                albumRepo.Object,
                genreRepo.Object,
                context.Object);

            // Act
            sut.CreateAlbum(title, artistName, coverUrl);

            // Assert
            artistRepo.Verify(x => x.Add(It.IsAny <Artist>()), Times.Once);
        }
Exemple #7
0
        static void Main(string[] args)
        {
            var connectionString = ConnectionService.CreateConnectionString("127.0.0.1", "root", "pass");

            using (ConnectionService connectionService = new ConnectionService(connectionString))
            {
                var dbCreationService = new CreationService(connectionService.Connection, "meetup");
                var dbSeedService     = new SeedService(connectionService.Connection);
            }

            // ########## scenario 1: website ##########

            // list all groups:         SELECT g.id, g.name FROM `group` AS g
            // list a certain group:    SELECT * FROM `group` AS g WHERE g.id = 973292;

            // list all events:         SELECT g.id, g.name FROM `group` AS g LIMIT 1000;
            // list a certain event:    SELECT * FROM event AS e WHERE e.id = 8627496;


            // ########## scenario 2: visualization  ##########

            // rsvps of a single group  (0.047s)

            /*
             *  SELECT g.name, YEAR(e.created), MONTH(e.created), SUM(e.yes_rsvp_count)
             *  FROM event AS e
             *  JOIN `group` AS g ON g.id = e.group_id
             *  WHERE e.group_id = 6510
             *  GROUP BY YEAR(e.created), MONTH(e.created);
             */

            // rsvps of all groups  (347s)

            /*
             *  SELECT g.name, YEAR(e.created), MONTH(e.created), SUM(e.yes_rsvp_count)
             *  FROM event AS e
             *  JOIN `group` AS g ON g.id = e.group_id
             *  GROUP BY g.id, YEAR(e.created), MONTH(e.created);
             */


            // rsvps of a single category (20s)  // moving around the join order does not improve query time ... obviously the database is optimizing the query for us

            /*
             *  SELECT c.shortname, YEAR(e.created), MONTH(e.created), SUM(e.yes_rsvp_count)
             *  FROM event AS e
             *  JOIN `group` AS g ON g.id = e.group_id
             *  JOIN `category` AS c ON c.id = g.category_id
             *  WHERE c.id = 9
             *  GROUP BY c.id, YEAR(e.created), MONTH(e.created);
             */

            // rsvps of a all categories (260s)

            /*
             *  SELECT c.shortname, YEAR(e.created), MONTH(e.created), SUM(e.yes_rsvp_count)
             *  FROM event AS e
             *  JOIN `group` AS g ON g.id = e.group_id
             *  JOIN `category` AS c ON c.id = g.category_id
             *  GROUP BY c.Id, YEAR(e.created), MONTH(e.created)
             *
             */

            Console.ReadLine();  // prevents application from closing
        }