public async Task GetAllCompanies_WithData_WorksCorrectly() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var expectedResults = new[] { "Company1", "Company2", "Company3" } .OrderBy(c => c) .ToArray(); foreach (var model in expectedResults) { context.Companies.Add(new Company() { CompanyName = model, User = new User() { UserName = model } }); } await context.SaveChangesAsync(); var companyService = new CompanyService(new EfRepository <User>(context), new EfRepository <Company>(context)); var actualResults = (await companyService.GetAllCompanies()) .Select(c => c.CompanyName) .OrderBy(c => c) .ToArray(); Assert.Equal(expectedResults, actualResults); }
public async Task DeleteAsync_WithExistingMessage_ReturnsTrue() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var model = new ContactMessage() { FullName = "TestFullName", Email = "*****@*****.**", Subject = "TestSubject", Message = "MessageTest" }; context.ContactMessages.Add(model); await context.SaveChangesAsync(); var contactMessagesService = new ContactMessagesService(new EfRepository <ContactMessage>(context), new EfRepository <User>(context)); var result = await contactMessagesService.DeleteAsync(model.Id); Assert.True(result); var dbModels = await context.ContactMessages.AnyAsync(); Assert.False(dbModels); }
public async Task GetAllAsync_WithValidData_WorksCorrectly() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var expectedResults = new[] { "Subject1", "Subject2", "Subject3" } .OrderBy(s => s) .ToArray(); foreach (var model in expectedResults) { context.ContactMessages.Add(new ContactMessage() { FullName = "TestFullName", Email = "*****@*****.**", Subject = model, Message = "MessageTest" }); } await context.SaveChangesAsync(); var contactMessagesService = new ContactMessagesService(new EfRepository <ContactMessage>(context), new EfRepository <User>(context)); var actualResults = (await contactMessagesService.GetAllAsync()) .Select(s => s.Subject) .OrderBy(s => s) .ToArray(); Assert.Equal(expectedResults, actualResults); }
public async Task GetAllJobSeekers_WithData_WorksCorrectly() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var expectedResults = new[] { "JobSeeker1", "JobSeeker2", "JobSeeker3" } .OrderBy(j => j) .ToArray(); foreach (var model in expectedResults) { context.JobSeekers.Add(new JobSeeker() { FirstName = model, LastName = model, User = new User { UserName = model } }); } await context.SaveChangesAsync(); var jobSeekerService = new JobSeekerService(new EfRepository <User>(context), new EfRepository <JobSeeker>(context)); var actualResults = (await jobSeekerService.GetAllJobSeekers()) .Select(j => j.FirstName) .OrderBy(j => j) .ToArray(); Assert.Equal(expectedResults, actualResults); }
private static async Task CreateDrivingLicenseCategories(JobFinderDbContext db) { string[] categories = new string[] { "A", "B", "C", "D", "BE", "CE", "DE", "T tb", "T tm", "T ct", "M" }; foreach (string category in categories) { var categoryType = new DrivingCategoryType { Category = category }; await db.AddAsync(categoryType); } await db.SaveChangesAsync(); }
private static async Task CreateJobEngagements(JobFinderDbContext db) { string[] enumeEngagements = Enum.GetNames(typeof(JobEngagementType)); var engagements = new List <string>(); enumeEngagements.ToList().ForEach(x => engagements.Add(x.SeparateWords())); string[] dbEngagements = db.JobEngagements.Select(x => x.Type).ToArray(); string[] engagementsToWrite = engagements.Where(e => !dbEngagements.Contains(e)).ToArray(); foreach (var engagementType in engagementsToWrite) { var engagement = new JobEngagement { Type = engagementType }; await db.AddAsync(engagement); } await db.SaveChangesAsync(); }
private static async Task CreateJobCategories(JobFinderDbContext db) { var enumCategories = Enum.GetNames(typeof(JobCategoryType)); var categories = new List <string>(); enumCategories.ToList().ForEach(x => categories.Add(x.ReplaceDashesAndSeparate())); string[] dbCategories = db.JobCategories.Select(x => x.Type).ToArray(); string[] categoriesToWrite = categories.Where(e => !dbCategories.Contains(e)).ToArray(); foreach (var categoryType in categoriesToWrite) { var category = new JobCategory { Type = categoryType }; await db.AddAsync(category); } await db.SaveChangesAsync(); }