public async Task <ActionResult <string> > Post([FromBody] CreateCompanyRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var companyToCreate = Mapper.Map <Company>(request); companyToCreate.Owner = new User { UserName = request.OwnerName }; return(new JsonResult( Mapper.Map <CompanyViewModel>( await CompanyService.CreateCompanyAsync(companyToCreate)))); }
public async Task CreateCompanyAsync_withInvalidCompany_ShouldFails() { //arrange var mockRepo = new Mock <ICompanyRepository>(); mockRepo.Setup(x => x.CreateCompanyAsync(null)).Throws <InvalidOperationException>(); var service = new CompanyService(mockRepo.Object); //Act try { var result = await service.CreateCompanyAsync(null); Assert.IsTrue(result); } catch (Exception ex) { Assert.AreEqual("Invalid Company data", ex.Message); } }
public async Task CreateCompanyAsync_WithValidCompany_ShouldSucceed() { //arrange var mockRepo = new Mock <ICompanyRepository>(); var company = new Company { ID = 1, Name = "Company A", Address = "29 good news street" }; mockRepo.Setup(x => x.CreateCompanyAsync(It.IsAny <Company>())).Returns(Task.FromResult <bool>(true)); var service = new CompanyService(mockRepo.Object); //Act var result = await service.CreateCompanyAsync(company); //Assert Assert.IsTrue(result, "Company Created Successfully"); mockRepo.Verify(repo => repo.CreateCompanyAsync(company), Times.Once); }
public async Task <IActionResult> Create(CompanyModel company) { var newCompany = await CompanyService.CreateCompanyAsync(company.Name, company.Slug); return(Ok(new { CompanyId = newCompany.Id })); }