Example #1
0
        public async Task GetAllSpeakerProfile_ReturnsEmpty_IfSpeakerProfileEntity_IsEmptyAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var query = new SpeakerRepository(context);

                    Assert.Empty(await query.GetAllSpeakersProfilesAsync());
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public void GetAllPresentations_returns_empty_if_thereAreNoPresentations()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var query = new PresentationRepository(context);

                    Assert.Empty(query.GetAllPresentations());
                }
            }
            finally
            {
                connection.Close();
            }
        }
 public PresentationsController(PlanificatorDbContext context, IPresentationManager presentationManager, IPresentationViewModelMapper presentationViewModelMapper, ISpeakerRepository speakerRepository, IPresentationRepository presentationRepository)
 {
     //_context = context;
     _presentationManager         = presentationManager;
     _presentationViewModelMapper = presentationViewModelMapper;
     _speakerRepository           = speakerRepository;
     _presentationRepository      = presentationRepository;
 }
Example #4
0
        public async Task GetAllSpeakerProfile_returns_all_speaker_profilesAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            List <SpeakerProfile> speakerProfiles = new List <SpeakerProfile>
            {
                new SpeakerProfile
                {
                    SpeakerId = Guid.NewGuid().ToString(),
                    FirstName = "Test FN",
                    LastName  = "Test LN",
                    Email     = "*****@*****.**",
                    Bio       = "Test Bio",
                    Company   = "Test Compnay",
                    PhotoPath = "testPath.jpg"
                },
                new SpeakerProfile
                {
                    SpeakerId = Guid.NewGuid().ToString(),
                    FirstName = "Test2 FN",
                    LastName  = "Test2 LN",
                    Email     = "*****@*****.**",
                    Bio       = "Test2 Bio",
                    Company   = "Test2 Compnay",
                    PhotoPath = "test2Path.jpg"
                }
            };

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var service = new SpeakerManager(context);
                    var query   = new SpeakerRepository(context);

                    foreach (SpeakerProfile speakerProfile in speakerProfiles)
                    {
                        await service.AddSpeakerProfileAsync(speakerProfile);
                    }

                    context.SaveChanges();
                    Assert.Equal(speakerProfiles, await query.GetAllSpeakersProfilesAsync());
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task AssignSpeakerToPresentation_writes_to_databaseAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            SpeakerProfile speaker = new SpeakerProfile
            {
                SpeakerId = Guid.NewGuid().ToString(),
                FirstName = "Test First Name",
                LastName  = "Test Last Name",
                Email     = "*****@*****.**",
                Bio       = "My test bio",
                Company   = "Test company",
                PhotoPath = "Test Path"
            };

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var presentationService = new PresentationManager(context);
                    var speakerServie       = new SpeakerManager(context);

                    var testData = new PresentationRepositoryTestsData();

                    await speakerServie.AddSpeakerProfileAsync(speaker);

                    await presentationService.AddPresentation(testData.presentationTags);

                    await presentationService.AssignSpeakerToPresentationAsync(speaker, testData.presentation);

                    context.SaveChanges();

                    Assert.Equal(1, context.PresentationSpeakers.Count());
                    Assert.Equal(speaker, context.PresentationSpeakers.Single().SpeakerProfile);
                    Assert.Equal(testData.presentation, context.PresentationSpeakers.Include(p => p.Presentation).Single().Presentation);
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task GetAllPresentations_returns_all_presentationsAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var service = new PresentationManager(context);
                    var query   = new PresentationRepository(context);

                    var testData1 = new PresentationRepositoryTestsData();
                    var testData2 = new PresentationRepositoryTestsData();
                    var testData3 = new PresentationRepositoryTestsData();

                    List <Presentation> presentations = new List <Presentation>();
                    presentations.Add(testData1.presentation);
                    presentations.Add(testData2.presentation);
                    presentations.Add(testData3.presentation);

                    await service.AddPresentation(testData1.presentationTags);

                    await service.AddPresentation(testData2.presentationTags);

                    await service.AddPresentation(testData3.presentationTags);

                    context.SaveChanges();

                    Assert.Equal(context.Presentations.Count(), query.GetAllPresentations().Count());
                    Assert.Equal(presentations, query.GetAllPresentations());
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task GetAllTags_returns_all_tags_from_one_presentationAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var service  = new PresentationManager(context);
                    var testData = new PresentationRepositoryTestsData();

                    await service.AddPresentation(testData.presentationTags);

                    context.SaveChanges();

                    Assert.Equal(testData.presentationTags.Count(), context.PresentationTags.Count());
                    Assert.Equal(1, context.Presentations.Count());
                    Assert.Equal(testData.tags.Count(), context.Tags.Count());

                    Assert.Equal(testData.presentationTags, context.PresentationTags);
                    Assert.Equal(testData.presentation.ToString(), context.Presentations.Single().ToString());
                    Assert.Equal(testData.tags, context.Tags);
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task AddPresentation_writes_to_databaseAsync()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <PlanificatorDbContext>()
                              .UseSqlite(connection)
                              .Options;

                using (var context = new PlanificatorDbContext(options))
                {
                    context.Database.EnsureCreated();

                    var service = new PresentationManager(context);
                    var query   = new PresentationRepository(context);

                    var testData = new PresentationRepositoryTestsData();

                    await service.AddPresentation(testData.presentationTags);

                    context.SaveChanges();

                    List <string> tagsNames = testData.tags.Select(tag => tag.TagName).ToList();

                    Assert.Equal(tagsNames.Count, query.GetAllTagsNames(testData.presentation.PresentationId).Count());
                    Assert.Equal(tagsNames, query.GetAllTagsNames(testData.presentation.PresentationId));
                }
            }
            finally
            {
                connection.Close();
            }
        }
 public SpeakerManager(PlanificatorDbContext planificatorDbContext)
 {
     _planificatorDbContext = planificatorDbContext;
 }
Example #10
0
 public PresentationManager(PlanificatorDbContext planificatorDbContext)
 {
     _planificatorDbContext = planificatorDbContext;
 }