示例#1
0
        public void AdicionandoNovamenteMesmoSubProjeto()
        {
            #region Inserindo novo projeto e novo subprojeto
            string subProjectParentName = "AdicionandoNovamenteMesmoSubProjetoSubProjectParent";
            var    subProjectParent     = projectsDBSteps.InseriProjetoDB(subProjectParentName);

            string subProjetoChildName = "AdicionandoNovamenteMesmoSubProjetoSubProjetoChild";
            var    subProjectChild     = projectsDBSteps.InseriProjetoDB(subProjetoChildName);

            string inheritSubProjectParent = "1";

            projectsDBSteps.InseriSubProjetoDB(subProjectChild.ProjectId, subProjectParent.ProjectId, inheritSubProjectParent);
            #endregion

            #region Parameters
            int inheritParent = 1;

            //Resultado esperado
            string statusCodeExpected        = "BadRequest";
            string statusDescriptionExpected = "Project '" + subProjectChild.ProjectId + "' is already a subproject of '" + subProjectParent.ProjectId + "'";
            #endregion

            var response             = AddSubProjectSteps.AdicionandoUmSubProjetoSemSucesso(subProjectParent.ProjectId, inheritParent, subProjetoChildName, statusCodeExpected);
            var consultaSubProjetoDB = projectsDBSteps.ConsultaSubProjetoDB(subProjectChild.ProjectId, subProjectParent.ProjectId);

            Assert.AreEqual(statusDescriptionExpected, response.StatusDescription, "O StatusDescription retornado não é o esperado.");

            projectsDBSteps.DeletaProjetoDB(consultaSubProjetoDB.ParentId);
            projectsDBSteps.DeletaProjetoDB(consultaSubProjetoDB.ChildId);
            projectsDBSteps.DeletaSubProjetoDB(consultaSubProjetoDB.ChildId, consultaSubProjetoDB.ParentId);
        }
        public void AtualizandoSubProjetoValido()
        {
            #region Inserindo novo projeto e novo subprojeto
            string subProjectParentName = "AtualizandoSubProjetoValidoProjectParent";
            var    subProjectParent     = projectsDBSteps.InseriProjetoDB(subProjectParentName);

            string subProjetoChildName = "AtualizandoSubProjetoValidoProjetoChild";
            var    subProjectChild     = projectsDBSteps.InseriProjetoDB(subProjetoChildName);

            string inheritSubProjectParent = "1";

            projectsDBSteps.InseriSubProjetoDB(subProjectChild.ProjectId, subProjectParent.ProjectId, inheritSubProjectParent);
            #endregion

            #region Parameters

            //Resultado esperado
            int    inheritParentExpected     = 0;
            string statusCodeExpected        = "NoContent";
            string statusDescriptionExpected = "Subproject '" + subProjectChild.ProjectId + "' updated";
            #endregion

            var response = UpdateSubProjectSteps.AtualizandoUmSubProjetoComSucesso(subProjectParent.ProjectId, subProjectChild.ProjectId, subProjetoChildName, inheritParentExpected, statusCodeExpected);

            var consultaSubProjetoDB = projectsDBSteps.ConsultaSubProjetoDB(subProjectChild.ProjectId, subProjectParent.ProjectId);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(statusDescriptionExpected, response.StatusDescription, "O status description não é o esperado.");
                Assert.AreEqual(inheritParentExpected, consultaSubProjetoDB.InheritParent, "O inherit parent não foi atualizado corretamente.");
            });

            projectsDBSteps.DeletaProjetoDB(consultaSubProjetoDB.ParentId);
            projectsDBSteps.DeletaProjetoDB(consultaSubProjetoDB.ChildId);
            projectsDBSteps.DeletaSubProjetoDB(consultaSubProjetoDB.ChildId, consultaSubProjetoDB.ParentId);
        }