public void ProjectPropertyChanged_WhenParentIdOfAProjectChanges_RepositoryRemovesChangedProjectFromParentsChildList() { var parentProjectRef = new projectref { href = "projectParentHref" }; var secondParentProjectRef = new projectref { href = "secondProjectParentHref" }; var childProjectRef = new projectref { href = "projectChildHref" }; var projectRefList = new List <projectref> { parentProjectRef, secondParentProjectRef, childProjectRef }; var projects1Dto = new projects1 { project = projectRefList }; var parentProjectDto = new project { id = "parentProject", parentProject = new projectref(), buildTypes = new List <buildTyperef>() }; var secondParentProjectDto = new project { id = "secondParentProject", parentProject = new projectref(), buildTypes = new List <buildTyperef>() }; var childProjectDto = new project { id = "childProject", parentProject = new projectref { id = "parentProject" }, buildTypes = new List <buildTyperef>() }; var changedParentchildProjectDto = new project { id = "childProject", parentProject = new projectref { id = "secondParentProject" }, buildTypes = new List <buildTyperef>() }; this.testee.SetData(projects1Dto); var parentProject = this.testee.Projects.First(project => project.Url == parentProjectRef.href); var secondParentProject = this.testee.Projects.First(project => project.Url == secondParentProjectRef.href); var childProject = this.testee.Projects.First(project => project.Url == childProjectRef.href); parentProject.SetData(parentProjectDto); secondParentProject.SetData(secondParentProjectDto); childProject.SetData(childProjectDto); childProject.SetData(changedParentchildProjectDto); this.testee.Projects.First(project => project.Url == parentProject.Url).ChildProjects.Should().BeEmpty(); }
public void SetData_WhenSettingDtoWithProjects_CorrectProjectInstanceWithHrefIsCreated() { const string project1href = "project1Href"; var projectRefList = new List <projectref> { new projectref { href = project1href } }; var projects1Dto = new projects1 { project = projectRefList }; this.testee.SetData(projects1Dto); testee.Projects.First().Url.Should().Be(project1href); }
public void SetData_WhenSettingDtoWithProjects_TheseProjectsAreReturnedAsDependencies() { var projectRefList = new List <projectref> { new projectref { href = "project1Href" }, new projectref { href = "project2Href" } }; var projects1Dto = new projects1 { project = projectRefList }; this.testee.SetData(projects1Dto); testee.Dependencies.Count().Should().Be(2); }
public void SetData_WhenSettingDtoWithProjects_AllProjectsContainsNewProjects() { var projectRefList = new List <projectref> { new projectref { href = "project1Href" }, new projectref { href = "project2Href" } }; var projects1Dto = new projects1 { project = projectRefList }; this.testee.SetData(projects1Dto); testee.Projects.Count().Should().Be(2); }
public void ProjectPropertyChanged_WhenParentIdOfAProjectChanges_RepositoryAddChangedProjectToCorrectParentsChildList() { var parentProjectRef = new projectref { href = "projectParentHref" }; var childProjectRef = new projectref { href = "projectChildHref" }; var projectRefList = new List <projectref> { parentProjectRef, childProjectRef }; var projects1Dto = new projects1 { project = projectRefList }; var parentProjectDto = new project { id = "parentProject", parentProject = new projectref(), buildTypes = new List <buildTyperef>() }; var childProjectDto = new project { id = "childProject", parentProject = new projectref { id = "parentProject" }, buildTypes = new List <buildTyperef>() }; this.testee.SetData(projects1Dto); var parentProject = this.testee.Projects.First(project => project.Url == parentProjectRef.href); var childProject = this.testee.Projects.First(project => project.Url == childProjectRef.href); parentProject.SetData(parentProjectDto); childProject.SetData(childProjectDto); this.testee.Projects.First(project => project.Url == parentProject.Url).ChildProjects.Should().Contain(childProject); }