public void Get_ReleaseWithStageAndStepFound_ReleaseWithStageAndStepReturned() { //Arrange var request = new GetReleasesHttpRequestMessageBuilder().Build(); var expectedRelease = new ReleaseBuilder().Build(); var expectedEnvironment = new EnvironmentBuilder().Build(); var expectedStage = new StageBuilder().ForEnvironment(expectedEnvironment).Build(); var expectedStep = new StepBuilder() .ForRelease(expectedRelease) .ForStage(expectedStage) .Build(); var expectedDeploymentStep = new DeploymentStepBuilder() .ForRelease(expectedRelease) .ForStage(expectedStage) .ForStep(expectedStep) .Build(); var dataModel = new DataModelBuilder() .WithRelease(expectedRelease) .WithEnvironment(expectedEnvironment) .WithStage(expectedStage) .WithStageWorkflowFor(expectedRelease, expectedStage) .WithStep(expectedStep) .WithDeploymentStep(expectedDeploymentStep) .Build(); _releaseRepositoryMock.Setup((stub) => stub.GetReleaseData(It.IsAny <string>(), It.IsAny <int>())) .Returns(dataModel); //Act dynamic result = _sut.Get(request); //Assert Assert.IsNotNull(result, "Unexpected result"); Assert.IsInstanceOfType(result.releases, typeof(List <dynamic>), "Unexpected type for releases collection"); Assert.AreEqual(1, result.releases.Count, "Unexpected number of releases"); var actualRelease = result.releases[0]; AssertAreReleasesEqual(expectedRelease, actualRelease); Assert.IsInstanceOfType(actualRelease.stages, typeof(List <dynamic>), "Unexpected type for stages collection"); Assert.AreEqual(1, actualRelease.stages.Count, "Unexpected number of stages for release"); var actualStage = actualRelease.stages[0]; AssertAreStagesEqual(expectedStage, expectedEnvironment, actualStage); Assert.IsInstanceOfType(actualStage.steps, typeof(List <dynamic>), "Unexpected type for steps collection"); Assert.AreEqual(1, actualStage.steps.Count, "Unexpected number of steps for stage"); var actualStep = actualStage.steps[0]; AssertAreStepsEqual(expectedStep, actualStep); Assert.IsInstanceOfType(actualStep.deploymentSteps, typeof(List <dynamic>), "Unexpected type for deploymentStep collection"); Assert.AreEqual(1, actualStep.deploymentSteps.Count, "Unexpected number of steps for deploymentSteps"); AssertAreDeploymentStepsEqual(expectedDeploymentStep, actualStep.deploymentSteps[0]); }
public void Get_ReleaseWithStageAndStepFound_ReleaseWithStageAndStepReturned() { //Arrange var request = new GetReleasesHttpRequestMessageBuilder().Build(); var expectedRelease = new ReleaseBuilder().Build(); var expectedEnvironment = new EnvironmentBuilder().Build(); var expectedStage = new StageBuilder().ForEnvironment(expectedEnvironment).Build(); var expectedStep = new StepBuilder() .ForRelease(expectedRelease) .ForStage(expectedStage) .Build(); var expectedDeploymentStep = new DeploymentStepBuilder() .ForRelease(expectedRelease) .ForStage(expectedStage) .ForStep(expectedStep) .Build(); var dataModel = new DataModelBuilder() .WithRelease(expectedRelease) .WithEnvironment(expectedEnvironment) .WithStage(expectedStage) .WithStageWorkflowFor(expectedRelease, expectedStage) .WithStep(expectedStep) .WithDeploymentStep(expectedDeploymentStep) .Build(); _releaseRepositoryMock.Setup((stub) => stub.GetReleaseData(It.IsAny<string>(), It.IsAny<int>())) .Returns(dataModel); //Act dynamic result = _sut.Get(request); //Assert Assert.IsNotNull(result, "Unexpected result"); Assert.IsInstanceOfType(result.releases, typeof(List<dynamic>), "Unexpected type for releases collection"); Assert.AreEqual(1, result.releases.Count, "Unexpected number of releases"); var actualRelease = result.releases[0]; AssertAreReleasesEqual(expectedRelease, actualRelease); Assert.IsInstanceOfType(actualRelease.stages, typeof(List<dynamic>), "Unexpected type for stages collection"); Assert.AreEqual(1, actualRelease.stages.Count, "Unexpected number of stages for release"); var actualStage = actualRelease.stages[0]; AssertAreStagesEqual(expectedStage, expectedEnvironment, actualStage); Assert.IsInstanceOfType(actualStage.steps, typeof(List<dynamic>), "Unexpected type for steps collection"); Assert.AreEqual(1, actualStage.steps.Count, "Unexpected number of steps for stage"); var actualStep = actualStage.steps[0]; AssertAreStepsEqual(expectedStep, actualStep); Assert.IsInstanceOfType(actualStep.deploymentSteps, typeof(List<dynamic>), "Unexpected type for deploymentStep collection"); Assert.AreEqual(1, actualStep.deploymentSteps.Count, "Unexpected number of steps for deploymentSteps"); AssertAreDeploymentStepsEqual(expectedDeploymentStep, actualStep.deploymentSteps[0]); }