public void When_the_project_name_is_null_or_empty_it_should_return_BadRequest(string projectName) { var projectRepository = new Mock <IProjectRepository>(); projectRepository.Setup(pr => pr.GetProjectByName(It.IsAny <string>())) .Returns((ProjectReadModel)null); var subject = new ProjectsController( Mock.Of <IProjectManagerService>(), projectRepository.Object, Mock.Of <ILogger <ProjectsController> >()); var result = Assert.IsType <BadRequestObjectResult>(subject.CheckProjectName(projectName)); Assert.Contains("project name", (string)result.Value); }
public void When_the_project_name_is_not_taken_it_should_return_available() { var projectRepository = new Mock <IProjectRepository>(); projectRepository.Setup(pr => pr.GetProjectByName(It.IsAny <string>())) .Returns((ProjectReadModel)null); var subject = new ProjectsController( Mock.Of <IProjectManagerService>(), projectRepository.Object, Mock.Of <ILogger <ProjectsController> >()); var jsonResult = Assert.IsType <JsonResult>(subject.CheckProjectName("available project name")); var result = Assert.IsType <ProjectNameAvailableDto>(jsonResult.Value); Assert.Equal("available project name", result.ProjectName); Assert.True(result.IsAvailable); }
public void When_the_project_name_is_taken_it_should_return_unavailable() { var projectRepository = new Mock <IProjectRepository>(); projectRepository.Setup(pr => pr.GetProjectByName("Taken project name")) .Returns(new ProjectReadModel { ProjectId = Guid.Empty, ProjectName = "Taken project name" }); var subject = new ProjectsController( Mock.Of <IProjectManagerService>(), projectRepository.Object, Mock.Of <ILogger <ProjectsController> >()); var jsonResult = Assert.IsType <JsonResult>(subject.CheckProjectName("Taken project name")); var result = Assert.IsType <ProjectNameAvailableDto>(jsonResult.Value); Assert.Equal("Taken project name", result.ProjectName); Assert.False(result.IsAvailable); }