Esempio n. 1
0
        public void Test_eFi_Crono34()
        {
            CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                        new DateTime(2010, 11, 15), new DateTime(2010, 11, 20), true);

            Calendario calendario02 = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                                  CsCalendarioDomain.Folga, new DateTime(2010, 11, 10), new DateTime(2010, 11, 14));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario02,
                                                                               "CalendarioConflitante", DefaultContexts.Save));

            Calendario calendario03 = CalendarioFactory.CriarCalendarioPorPeriodo(
                SessionTest, CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 21),
                new DateTime(2010, 11, 22));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario03,
                                                                               "CalendarioConflitante", DefaultContexts.Save));
        }
Esempio n. 2
0
        public void Test_eFi_Crono35()
        {
            const string RESTRICAO = "CalendarioConflitante";

            Calendario calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                                                new DateTime(2010, 11, 15), new DateTime(2010, 11, 20));

            calendario.CsSituacao = CsSituacaoDomain.Inativo;
            calendario.Save();

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Folga, new DateTime(2010, 11, 15), new DateTime(2010, 11, 16));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 20), new DateTime(2010, 11, 25));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 16), new DateTime(2010, 11, 19));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 14), new DateTime(2010, 11, 21));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 15), new DateTime(2010, 11, 20));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));
        }
Esempio n. 3
0
        public void Test_eFi_Crono33()
        {
            const string RESTRICAO = "CalendarioConflitante";

            CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                        new DateTime(2010, 11, 15), new DateTime(2010, 11, 20), true);

            /**
             * Cenário1:
             * Serão criados calendários conflitantes por período.
             * O sistema deve rejeitá-los.
             */

            Calendario calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                                CsCalendarioDomain.Folga, new DateTime(2010, 11, 15), new DateTime(2010, 11, 16));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 20), new DateTime(2010, 11, 25));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 16), new DateTime(2010, 11, 19));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário2:
             * Será criado um calendário por dia do ano específico, conflitando
             * com um calendário de período existente. O sistema deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 20, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário3:
             * Será criado um calendário por dia do ano específico, não
             * conflitante com o calendário de período existente mas conflitante
             * com um calendario para um dia especifico. O sistema
             * deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 21, CsMesDomain.Novembro, 2010, true);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));


            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 21, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário4:
             * - Será criado um calendário por dia e mês, não conflitante com os
             *   calendários existentes. O sistema deve aceitar.
             * - Em seguida, será criado um outro calendário por dia e mês conflitante.
             *   O sistema deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario.Save();

            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário5:
             * - Será criado um calendário por dia, mês e ano, conflitante com os
             *   calendários por dia e mês existente. O sistema deve aceitar pois dará
             *   prioridade ao calendário por dia mês e ano.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 23), new DateTime(2010, 11, 23));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));
        }