예제 #1
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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();
        }
예제 #6
0
        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();
        }
예제 #7
0
        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();
        }