public async Task PostCompanyInfoAsyncTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <CompanyInfo>(new ApplicationDbContext(options.Options)); foreach (var item in this.GetCompanyInfoData()) { await repository.AddAsync(item); await repository.SaveChangesAsync(); } var service = new CompanyInfoService(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 CompanyInfoInputModel { UserId = "6", Name = "Andrea", Description = "bgscdsu", Logo = fileMockImage.Object, Address = "bcsuigvfdgvdfcdz", PhoneNumber = "0888130130", }; await service.PostCompanyInfoAsync(inputModel); var candidatesCount = repository.All().ToList().Count; Assert.Equal(4, candidatesCount); }
public async Task <IActionResult> CompanyInfo(CompanyInfoInputModel input) { if (!this.ModelState.IsValid) { return(this.View()); } input.UserId = this.userManager.GetUserId(this.User); await this.companyInfoService.PostCompanyInfoAsync(input); return(this.Redirect("/")); }
public async Task PostCompanyInfoAsync(CompanyInfoInputModel input) { var companyInfo = new CompanyInfo { Name = input.Name, UserId = input.UserId, Logo = this.UploadImageToCloudinary(input.Logo.OpenReadStream()), Description = input.Description, Address = input.Address, PhoneNumber = input.PhoneNumber, }; await this.companyInfoRepository.AddAsync(companyInfo); await this.companyInfoRepository.SaveChangesAsync(); }