private void AssertCreatedEnvironment(DeployEnvironment result, DeployProject project, string environmentName, List<DeployEnvironmentConfiguration> environmentComponentList, List<DeployEnvironmentConfiguration> environmentConfigurationList, IProjectRepository sut) { Assert.IsNotNull(result); Assert.IsNotNullOrEmpty(result.Id); Assert.AreEqual(project.Id, result.ProjectId); Assert.AreEqual(environmentName, result.EnvironmentName); AssertHelpers.AssertCreatedBaseDto(result, this.UserName); environmentComponentList = environmentComponentList ?? new List<DeployEnvironmentConfiguration>(); Assert.AreEqual(environmentComponentList.Count(), result.ComponentList.Count); foreach(var item in environmentComponentList) { var createdItem = result.ComponentList.SingleOrDefault(i=>i.ParentId == item.ParentId); AssertCreatedEnvironmentConfiguration(item, createdItem, project, result, EnumDeployStepParentType.Component); } environmentConfigurationList = environmentConfigurationList ?? new List<DeployEnvironmentConfiguration>(); Assert.AreEqual(environmentConfigurationList.Count(), result.ConfigurationList.Count); foreach (var item in environmentConfigurationList) { var createdItem = result.ConfigurationList.SingleOrDefault(i => i.ParentId == item.ParentId); AssertCreatedEnvironmentConfiguration(item, createdItem, project, result, EnumDeployStepParentType.Configuration); } var dbItem = sut.GetEnvironment(result.Id, result.ProjectId); AssertEnvironment(result, dbItem); var dbProject = sut.GetProject(project.Id); var dbProjectEnvironment = dbProject.EnvironmentList.SingleOrDefault(i => i.Id == result.Id); Assert.IsNotNull(dbProjectEnvironment); AssertEnvironment(result, dbProjectEnvironment); }