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