public void TestarSalvarUmCicloDeDesenvolvimentoComItensEmVariasSituacoes() { /** * Cenário 1: Será cadastrado um projeto que conterá dois ciclos. * Serão adicionadas Estórias para esse Ciclo e em seguida serão feitas alterações nos itens do ciclo * O sistema deverá alterar e salvar corretamente essas mudanças. */ Projeto projeto01 = ProjetoFactory.Criar(SessionTest, 100, ""); projeto01.DtInicioPlan = new DateTime(2011, 04, 27); projeto01.DtInicioReal = new DateTime(2011, 04, 27); projeto01.NbCicloTotalPlan = 2; projeto01.Save(); Modulo modulo01 = ModuloFactory.Criar(SessionTest, projeto01, "Nome", false); modulo01.NbPontosTotal = 60; modulo01.Save(); Modulo modulo02 = ModuloFactory.Criar(SessionTest, projeto01, "Nome", false); modulo02.NbPontosTotal = 40; modulo02.Save(); Beneficiado beneficiado01 = BeneficiadoFactory.Criar(SessionTest, "Descrição", true); Estoria estoria01_3pts = EstoriaFactory.Criar(SessionTest, modulo01, "Estória01", "GostariaDe", "EntaoPoderei", beneficiado01, "Observações", "Referências", "Dúvidas"); estoria01_3pts.NbPrioridade = 1; estoria01_3pts.NbTamanho = 3; estoria01_3pts.Save(); estoria01_3pts.Reload(); // força o onload Estoria estoria02_5pts = EstoriaFactory.Criar(SessionTest, modulo01, "Estória02", "GostariaDe", "EntaoPoderei", beneficiado01, "Observações", "Referências", "Dúvidas"); estoria02_5pts.NbPrioridade = 2; estoria02_5pts.NbTamanho = 5; estoria02_5pts.Save(); estoria02_5pts.Reload(); // força o onload Estoria estoria03_13pts = EstoriaFactory.Criar(SessionTest, modulo01, "Estória03", "GostariaDe", "EntaoPoderei", beneficiado01, "Observações", "Referências", "Dúvidas"); estoria03_13pts.NbPrioridade = 3; estoria03_13pts.NbTamanho = 13; estoria03_13pts.Save(); estoria03_13pts.Reload(); // força o onload Estoria estoria04_1pt = EstoriaFactory.Criar(SessionTest, modulo01, "Estória04", "GostariaDe", "EntaoPoderei", beneficiado01, "Observações", "Referências", "Dúvidas"); estoria04_1pt.NbPrioridade = 4; estoria04_1pt.NbTamanho = 1; estoria04_1pt.Save(); estoria04_1pt.Reload(); // força o onload //Passo 01 CicloDesenvEstoria cicloEstoria01_3pts = CicloDesenvEstoriaFactory.Criar(SessionTest, projeto01.Ciclos[0], estoria01_3pts, true); CicloDesenvEstoria cicloEstoria02_5pts = CicloDesenvEstoriaFactory.Criar(SessionTest, projeto01.Ciclos[0], estoria02_5pts, true); Assert.AreEqual(CsSituacaoEstoriaCicloDomain.NaoIniciado, cicloEstoria01_3pts.CsSituacao, "A situação do item do ciclo deveria ser 'Não Iniciado'"); Assert.AreEqual(CsSituacaoEstoriaCicloDomain.NaoIniciado, cicloEstoria02_5pts.CsSituacao, "A situação do item do ciclo deveria ser 'Não Iniciado'"); //Passo 02 //Trocando situação dos itens no ciclo. cicloEstoria01_3pts.CsSituacao = CsSituacaoEstoriaCicloDomain.EmDesenv; cicloEstoria02_5pts.CsSituacao = CsSituacaoEstoriaCicloDomain.EmDesenv; projeto01.Ciclos[0].TxMeta = "TxMeta"; projeto01.Ciclos[0].Save(); Assert.AreEqual(8, projeto01.Ciclos[0].NbPontosPlanejados, "O total de pontos deveria ser 8"); Assert.AreEqual(0, projeto01.Ciclos[0].NbPontosRealizados, "O total de pontos realizados deveria ser 0"); Assert.AreEqual(0, projeto01.Ciclos[0].NbAlcanceMeta, "O alcance da meta deveria ser 0%"); Assert.AreEqual("Ciclo 1", estoria01_3pts._TxQuando, "A variável 'Quando?' deveria ser alterada para 'Ciclo 1'"); Assert.AreEqual("Ciclo 1", estoria02_5pts._TxQuando, "A variável 'Quando?' deveria ser alterada para 'Ciclo 1'"); Assert.AreEqual(projeto01.Ciclos[0], estoria01_3pts.Ciclo, "O ciclo da estoria deveria ser Ciclo 1"); Assert.AreEqual(projeto01.Ciclos[0], estoria02_5pts.Ciclo, "O ciclo da estoria deveria ser Ciclo 1"); Assert.AreEqual(CsSituacaoCicloDomain.EmAndamento, projeto01.Ciclos[0].CsSituacaoCiclo, "A situação do ciclo deveria ser 'Não Iniciado'"); Assert.AreEqual(CsEstoriaDomain.EmDesenv, estoria01_3pts.CsSituacao, "A estória deveria estar com a situação 'Em Desenvolvimento'"); Assert.AreEqual(8, modulo01.NbPontosEmDesenv, "Os pontos em desenv deveriam ter sido recalculados."); Assert.AreEqual(13.33, modulo01._NbPercEmDesenv, "O percentual em desenv deveria ter sido recalculado."); Assert.AreEqual(1, estoria03_13pts.NbPrioridade, "A estoria que ficou no backlog deveria ter sido repriorizada."); Assert.AreEqual(2, estoria04_1pt.NbPrioridade, "A estoria que ficou no backlog deveria ter sido repriorizada."); //Passo 5 projeto01.Ciclos[0].Reload(); cicloEstoria01_3pts.Reload(); cicloEstoria02_5pts.Reload(); cicloEstoria01_3pts.Meta = true; cicloEstoria01_3pts.CsSituacao = CsSituacaoEstoriaCicloDomain.Pronto; cicloEstoria01_3pts.Save(); projeto01.Ciclos[0].Save(); Assert.AreEqual(CsEstoriaDomain.Pronto, estoria01_3pts.CsSituacao, "A situação da estória deveria ter sido alterada para pronto"); Assert.AreEqual(CsEstoriaDomain.EmDesenv, estoria02_5pts.CsSituacao, "A estória deveria estar com a situação 'Em Desenvolvimento'"); Assert.AreEqual(3, modulo01.NbPontosPronto, "A quantidade de pontos pronto deveria ter sido recalculada."); Assert.AreEqual(5, modulo01.NbPontosEmDesenv, "A quantidade de pontos em desenveria ter sido mantida."); Assert.AreEqual(14, modulo01.NbPontosEmAnalise, "O percentual em analise foi calculado incorretamente"); Assert.AreEqual(38, modulo01.NbPontosNaoIniciado, "O percentual nao iniciado foi calculado incorretamente"); Assert.AreEqual(3, projeto01.Ciclos[0].NbPontosRealizados, "O total de pontos realizados deveria ser 3"); Assert.AreEqual(100, projeto01.Ciclos[0].NbAlcanceMeta, "O alcance da meta deveria ser 100%"); //Passo 6 cicloEstoria02_5pts.CsSituacao = CsSituacaoEstoriaCicloDomain.Replanejado; cicloEstoria02_5pts.Save(); projeto01.Ciclos[0].Save(); Assert.AreEqual(3, modulo01.NbPontosPronto, "Os pontos prontos deveriam ter sido mantidos."); Assert.AreEqual(0, modulo01.NbPontosEmDesenv, "Os pontos em desenv deveriam ter sido recalculados."); Assert.AreEqual(19, modulo01.NbPontosEmAnalise, "Os pontos em desenv deveriam ter sido recalculados."); Assert.AreEqual(38, modulo01.NbPontosNaoIniciado, "Os pontos Nao iniciados deveriam ter sido mantidos."); Assert.AreEqual(CsEstoriaDomain.Replanejado, estoria02_5pts.CsSituacao, "A estória deveria estar com a situação 'Replanejado'"); Assert.AreEqual(8, projeto01.Ciclos[0].NbPontosPlanejados, "O total de pontos planejados nao foi calculado corretamente"); Assert.AreEqual(3, projeto01.Ciclos[0].NbPontosRealizados, "O total de pontos realizados deveria ser 3"); Assert.AreEqual(CsSituacaoCicloDomain.Concluido, projeto01.Ciclos[0].CsSituacaoCiclo, "O ciclo deveria estar concluido"); Assert.AreEqual(1, estoria02_5pts.NbPrioridade, "A estoria que ficou no backlog deveria ter sido repriorizada."); Assert.AreEqual(2, estoria03_13pts.NbPrioridade, "A estoria que ficou no backlog deveria ter sido repriorizada."); Assert.AreEqual(3, estoria04_1pt.NbPrioridade, "A estoria que ficou no backlog deveria ter sido repriorizada."); //Passo 7 CicloDesenvEstoria cicloEstoria03_13pts = CicloDesenvEstoriaFactory.Criar(SessionTest, projeto01.Ciclos[1], estoria03_13pts); cicloEstoria03_13pts.Meta = true; cicloEstoria03_13pts.CsSituacao = CsSituacaoEstoriaCicloDomain.EmDesenv; cicloEstoria03_13pts.Save(); CicloDesenvEstoria cicloEstoria04_1pt = CicloDesenvEstoriaFactory.Criar(SessionTest, projeto01.Ciclos[1], estoria04_1pt); cicloEstoria04_1pt.Meta = true; cicloEstoria04_1pt.CsSituacao = CsSituacaoEstoriaCicloDomain.EmDesenv; cicloEstoria04_1pt.Save(); projeto01.Ciclos[1].Save(); Assert.AreEqual(3, modulo01.NbPontosPronto, "Os pontos prontos deveriam ter sido mantidos."); Assert.AreEqual(5, modulo01.NbPontosEmAnalise, "Os pontos em analise deveriam ter sido recalculados."); Assert.AreEqual(38, modulo01.NbPontosNaoIniciado, "Os pontos nao iniciados deveriam ter sido mantidos."); Assert.AreEqual(14, modulo01.NbPontosEmDesenv, "Os pontos em desenv deveriam ter sido recalculados."); Assert.AreEqual(CsSituacaoEstoriaCicloDomain.EmDesenv, cicloEstoria03_13pts.CsSituacao, "A situação do item do ciclo deveria ser 'Em desenvolvimento'"); Assert.AreEqual(CsSituacaoEstoriaCicloDomain.EmDesenv, cicloEstoria04_1pt.CsSituacao, "A situação do item do ciclo deveria ser 'Em desenvolvimento'"); Assert.AreEqual(8, projeto01.Ciclos[0].NbPontosPlanejados, "O total de pontos planejados nao foi calculado corretamente"); Assert.AreEqual(14, projeto01.Ciclos[1].NbPontosPlanejados, "O total de pontos planejados deveria ser 18"); Assert.AreEqual(0, projeto01.Ciclos[1].NbPontosRealizados, "O total de pontos realizados deveria ser 0"); Assert.AreEqual(0, projeto01.Ciclos[1].NbAlcanceMeta, "Alcance da meta deveria ser 0"); Assert.AreEqual(CsSituacaoCicloDomain.EmAndamento, projeto01.Ciclos[1].CsSituacaoCiclo, "A situação do ciclo deveria ser 'Em Andamento'"); Assert.AreEqual(1, estoria02_5pts.NbPrioridade, "A prioridade deveria ter sido mantida"); Assert.AreEqual(0, estoria03_13pts.NbPrioridade, "A prioridade deveria ter sido zerada pois a entrega esta no ciclo"); Assert.AreEqual(0, estoria04_1pt.NbPrioridade, "A prioridade deveria ter sido zerada pois a entrega esta no ciclo"); }