Exemplo n.º 1
0
        public async Task GetByIdAsync_WorksCorrectly()
        {
            string expectedResult = "MajorTest";

            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Education()
            {
                Major     = expectedResult,
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
                Resume    = new Resume()
            };

            await context.AddAsync(model);

            context.SaveChanges();

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.GetByIdAsync(model.Id);

            Assert.Equal(expectedResult, result.Major);
        }
Exemplo n.º 2
0
        public async Task AddEducation_ToNonExistingResume_ReturnsFalse()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Resume()
            {
                JobSeeker = new JobSeeker()
                {
                    FirstName = "JobSeekerName1",
                    LastName  = "JobSeekerName2",
                    User      = new User()
                    {
                        UserName = "******"
                    }
                }
            };

            var serviceModel = new EducationServiceModel();

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.AddEducation(model.Id, serviceModel);

            Assert.False(result);
        }
Exemplo n.º 3
0
        public async Task RemoveExistingEducation_ReturnsTrue()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Education()
            {
                Major     = "MajorTest",
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
            };

            await context.AddAsync(model);

            context.SaveChanges();

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.RemoveEducationById(model.Id);

            Assert.True(result);

            var dbModels = await context.EducationsHistory.AnyAsync();

            Assert.False(dbModels);
        }
Exemplo n.º 4
0
        public async Task GetAllForResume_WithData_WorksCorrectly()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var expectedResults = new[] { "Major1", "Major2", "Major3" }
            .OrderBy(c => c)
            .ToArray();

            var model = new Resume()
            {
                EducationHistory = new List <Education>()
                {
                    new Education()
                    {
                        Major     = expectedResults[0],
                        Institute = "InstituteTest",
                        From      = 2000,
                        To        = 2001,
                    },
                    new Education()
                    {
                        Major     = expectedResults[1],
                        Institute = "InstituteTest",
                        From      = 2000,
                        To        = 2001,
                    },
                    new Education()
                    {
                        Major     = expectedResults[2],
                        Institute = "InstituteTest",
                        From      = 2000,
                        To        = 2001,
                    },
                }
            };

            await context.AddAsync(model);

            context.SaveChanges();

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var actualResults = (await educationsService.GetAllForResume(model.Id))
                                .Select(e => e.Major)
                                .OrderBy(e => e)
                                .ToArray();

            Assert.Equal(expectedResults, actualResults);
        }
Exemplo n.º 5
0
        public async Task GetAllForResume_WithNoResume_ReturnsNull()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Resume();

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.GetAllForResume(model.Id);

            Assert.Null(result);
        }
Exemplo n.º 6
0
        public async Task UpdateAsync_WithNonExistentEducation_ReturnsFalse()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var serviceModel = new EducationServiceModel()
            {
                Major     = "MajorTest",
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
            };

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.UpdateAsync(serviceModel);

            Assert.False(result);
        }
Exemplo n.º 7
0
        public async Task UpdateAsync_WithValidData_ReturnsTrue()
        {
            string expectedResult = "NewMajor";

            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Education()
            {
                Major     = "MajorTest",
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
            };

            await context.AddAsync(model);

            context.SaveChanges();

            var serviceModel = new EducationServiceModel()
            {
                Id        = model.Id,
                Major     = expectedResult,
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
            };

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.UpdateAsync(serviceModel);

            Assert.True(result);

            var actualResult = (await context.EducationsHistory.SingleAsync(e => e.Id == model.Id)).Major;

            Assert.Equal(expectedResult, actualResult);
        }
Exemplo n.º 8
0
        public async Task AddEducation_WithValidData_ToExistingResume_WorksCorrectly()
        {
            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Resume()
            {
                JobSeeker = new JobSeeker()
                {
                    FirstName = "JobSeekerName1",
                    LastName  = "JobSeekerName2",
                    User      = new User()
                    {
                        UserName = "******"
                    }
                }
            };

            await context.AddAsync(model);

            context.SaveChanges();

            var serviceModel = new EducationServiceModel()
            {
                Major     = "MajorTest",
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
            };

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.AddEducation(model.Id, serviceModel);

            Assert.True(result);
        }
Exemplo n.º 9
0
        public async Task GetByIdAsync_WithNoExistingEducation_ReturnsNull()
        {
            string expectedResult = "MajorTest";

            var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>()
                                                 .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                 .Options);

            var model = new Education()
            {
                Major     = expectedResult,
                Institute = "InstituteTest",
                From      = 2000,
                To        = 2001,
                Resume    = new Resume()
            };

            var educationsService = new EducationsService(new EfRepository <Education>(context),
                                                          new EfRepository <Resume>(context));

            var result = await educationsService.GetByIdAsync(model.Id);

            Assert.Null(result);
        }