Exemple #1
0
        public async Task CreateNewCandidateForJobPostingAsyncTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var repository = new EfDeletableEntityRepository <UserInfo>(new ApplicationDbContext(options.Options));

            foreach (var item in this.GetUserInfoData())
            {
                await repository.AddAsync(item);

                await repository.SaveChangesAsync();
            }

            var service = new UserInfoService(repository);

            var fileMockCv = new Mock <IFormFile>();

            var content  = "Hello World from a Fake File";
            var fileName = "test.pdf";
            var ms       = new MemoryStream();
            var writer   = new StreamWriter(ms);

            writer.Write(content);
            writer.Flush();
            ms.Position = 0;
            fileMockCv.Setup(_ => _.OpenReadStream()).Returns(ms);
            fileMockCv.Setup(_ => _.FileName).Returns(fileName);
            fileMockCv.Setup(_ => _.Length).Returns(ms.Length);

            WebClient client = new WebClient();
            var       stream = client.OpenRead("https://ichef.bbci.co.uk/news/976/cpsprodpb/41CF/production/_109474861_angrycat-index-getty3-3.jpg");

            var fileMockImage = new Mock <IFormFile>();

            fileMockImage.Setup(_ => _.OpenReadStream()).Returns(stream);
            fileMockImage.Setup(_ => _.FileName).Returns("cat.jpg");

            var inputModel = new UserInfoInputModel
            {
                UserId         = "6",
                FirstName      = "Andrea",
                LastName       = "Denikova",
                Description    = "bgscdsu",
                ProfilePicture = fileMockImage.Object,
                Cv             = fileMockCv.Object,
                Address        = "bcsuigvfdgvdfcdz",
                CityId         = "1",
            };

            await service.PostUserInfoAsync(inputModel);

            var candidatesCount = repository.All().ToList().Count;

            Assert.Equal(4, candidatesCount);
        }
Exemple #2
0
        public async Task <IActionResult> UserInfo(UserInfoInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }

            var cityId = this.citiesService.GetCityId(input.CityName);

            input.CityId = cityId;

            input.UserId = this.userManager.GetUserId(this.User);

            await this.userInfoService.PostUserInfoAsync(input);

            return(this.Redirect("/"));
        }
Exemple #3
0
        public async Task PostUserInfoAsync(UserInfoInputModel input)
        {
            var userInfo = new UserInfo
            {
                FirstName      = input.FirstName,
                LastName       = input.LastName,
                UserId         = input.UserId,
                Description    = input.Description,
                ProfilePicture = this.UploadImageToCloudinary(input.ProfilePicture.OpenReadStream()),
                CV             = this.UploadCvFileToCloudinary(input.Cv.OpenReadStream()),
                Address        = input.Address,
                CityId         = input.CityId,
            };

            await this.userInfoRepository.AddAsync(userInfo);

            await this.userInfoRepository.SaveChangesAsync();
        }