Beispiel #1
0
        public void NaoDeveCancelarQuandoMatriculaEstiverConcluida()
        {
            var matricula = MatriculaBuilder.Novo().ComConcluido(true).Build();

            Assert.Throws <DomainException>(() =>
                                            matricula.Cancel())
            .ComMensagem(Resource.EnrollmentFinished);
        }
        public void NaoDeveCancelarQuandoMatriculaEstiverConcluida()
        {
            var matricula = MatriculaBuilder.Novo().ComConcluido(true).Build();

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             matricula.Cancelar())
            .ComMensagem(Resource.MatriculaConcluida);
        }
Beispiel #3
0
        public void NaoDeveCriarMatriculaComValorPagoInvalido()
        {
            const double valorPagoInvalido = 0;

            Assert.Throws <DomainException>(() =>
                                            MatriculaBuilder.Novo().ComValorPago(valorPagoInvalido).Build())
            .ComMensagem(Resource.InvalidAmount);
        }
        public void NaoDeveInformarComNotaInvalida(double notaDoAlunoInvalida)
        {
            var matricula = MatriculaBuilder.Novo().Build();

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             matricula.InformarNota(notaDoAlunoInvalida))
            .ComMensagem(Resource.NotaDoAlunoInvalida);
        }
Beispiel #5
0
        public void DeveCancelarMatricula()
        {
            var matricula = MatriculaBuilder.Novo().Build();

            matricula.Cancelar();

            Assert.True(matricula.Cancelada);
        }
Beispiel #6
0
        public void NaoDeveCriarMatriculaSemCurso()
        {
            Curso cursoInvalido = null;

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             MatriculaBuilder.Novo().ComCurso(cursoInvalido).Build())
            .ComMensagem(Resource.CursoInvalido);
        }
Beispiel #7
0
        public void NaoDeveCriarMatriculaSemAluno()
        {
            Aluno alunoInvalido = null;

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             MatriculaBuilder.Novo().ComAluno(alunoInvalido).Build())
            .ComMensagem(Resource.AlunoInvalido);
        }
Beispiel #8
0
        public void NaoDeveCriarMatriculaComValorInvalido()
        {
            const double valorPagoInvalido = 0;

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             MatriculaBuilder.Novo().ComValorPago(valorPagoInvalido).Build())
            .ComMensagem(Resource.ValorInvalido);
        }
Beispiel #9
0
        public void NaoDeveInformarComNotaInvalida(double notaDoAlunoInvalida)
        {
            var matricula = MatriculaBuilder.Novo().Build();

            Assert.Throws <DomainException>(() =>
                                            matricula.ShowGrade(notaDoAlunoInvalida))
            .ComMensagem(Resource.InvalidStudentGrade);
        }
        public void NaoDevePublicoAlvoDeAlunoECursoSeremDiferentes()
        {
            var curso = CursoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Empregado).Build();
            var aluno = AlunoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Universitário).Build();

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             MatriculaBuilder.Novo().ComAluno(aluno).ComCurso(curso).Build())
            .ComMensagem(Resource.PublicosAlvoDiferentes);
        }
        public void DeveIndicarQueHouveDescontoNaMatricula()
        {
            var curso = CursoBuilder.Novo().ComValor(100).ComPublicoAlvo(PublicoAlvo.Empreendedor).Build();
            var valorPagoComDesconto = curso.Valor - 1;

            var matricula = MatriculaBuilder.Novo().ComCurso(curso).ComValorPago(valorPagoComDesconto).Build();

            Assert.True(matricula.TemDesconto);
        }
        public void NaoDeveInformarNotaQuandoMatriculaEstiverCancelada()
        {
            const double notaDoAluno = 3;
            var          matricula   = MatriculaBuilder.Novo().ComCancelada(true).Build();

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             matricula.InformarNota(notaDoAluno))
            .ComMensagem(Resource.MatriculaCancelada);
        }
        public void DeveIndicarQueCuroFoiConcluido()
        {
            const double notaDoAlunoEsperada = 9.5;
            var          matricula           = MatriculaBuilder.Novo().Build();

            matricula.InformarNota(notaDoAlunoEsperada);

            Assert.True(matricula.CursoConcluido);
        }
Beispiel #14
0
        public void NaoDeveSerInformadaUmaNotaInvalida(double notaInvalida)
        {
            // Arrange
            var matricula = MatriculaBuilder.Novo().Build();

            // Assert
            Assert.Throws <ExcecaoDeDominio>(() => matricula.InformarNota(notaInvalida))
            .ComMensagem(Resource.NotadoAlunoEhInvalida);
        }
Beispiel #15
0
        public void DeveInformarANotaDoAlunoParaMatricula()
        {
            const double notaDoAlunoEsperada = 9.5;
            var          matricula           = MatriculaBuilder.Novo().Build();

            matricula.InformarNota(notaDoAlunoEsperada);

            Assert.Equal(notaDoAlunoEsperada, matricula.NotaDoAluno);
        }
Beispiel #16
0
        public void NaoDeveInformarNotaQuandoMatriculaEstiverCancelada()
        {
            const double notaDoAluno = 3;
            var          matricula   = MatriculaBuilder.Novo().ComCancelada(true).Build();

            Assert.Throws <DomainException>(() =>
                                            matricula.ShowGrade(notaDoAluno))
            .ComMensagem(Resource.EnrollmentCanceled);
        }
Beispiel #17
0
        public void DeveIndicarSeHouveDesconto()
        {
            var curso = CursoBuilder.Novo().ComValor(100).Build();
            var valorPagoComDesconto = curso.Valor - 1;

            var matricula = MatriculaBuilder.Novo().ComCurso(curso).ComValorPago(valorPagoComDesconto).Build();

            Assert.True(matricula.TemDesconto);
        }
Beispiel #18
0
        public void NaoDeveCriarMatriculaComValorPagoMaiorQueValorDoCurso()
        {
            var curso = CursoBuilder.Novo().ComValor(100).Build();
            var valorPagoMaiorQueCurso = curso.Valor + 1;

            Assert.Throws <ExcecaoDeDominio>(() =>
                                             MatriculaBuilder.Novo().ComCurso(curso).ComValorPago(valorPagoMaiorQueCurso).Build())
            .ComMensagem(Resource.ValorInvalido);
        }
Beispiel #19
0
        public void DeveInformarANotaDoAlunoParMatricula()
        {
            const double notaDoAlunoEsperada = 9.5;
            var          matricula           = MatriculaBuilder.Novo().Build();

            matricula.ShowGrade(notaDoAlunoEsperada);

            Assert.Equal(notaDoAlunoEsperada, matricula.StudentGrade);
        }
Beispiel #20
0
        public void DeveIndicarQueCuroFoiConcluido()
        {
            const double notaDoAlunoEsperada = 9.5;
            var          matricula           = MatriculaBuilder.Novo().Build();

            matricula.ShowGrade(notaDoAlunoEsperada);

            Assert.True(matricula.FinishedCourse);
        }
Beispiel #21
0
        public void NaoDevePublicoAlvoDeAlunoECursoSeremDiferentes()
        {
            var curso = CursoBuilder.Novo().ComPublicoAlvo(TargetAudience.Employee).Build();
            var aluno = StudentBuilder.New().WithTargetAudience(TargetAudience.Graduate).Build();

            Assert.Throws <DomainException>(() =>
                                            MatriculaBuilder.Novo().ComAluno(aluno).ComCurso(curso).Build())
            .ComMensagem(Resource.DifferentTargetAudience);
        }
Beispiel #22
0
        public void DeveIndicarQueHouveDescontoNaMatricula()
        {
            var curso = CursoBuilder.Novo().ComValor(100).ComPublicoAlvo(TargetAudience.Entrepreneur).Build();
            var valorPagoComDesconto = curso.Amount - 1;

            var matricula = MatriculaBuilder.Novo().ComCurso(curso).ComValorPago(valorPagoComDesconto).Build();

            Assert.True(matricula.HasDiscount);
        }
Beispiel #23
0
        public void NaoDeveCriarMatriculaComValorPagoMaiorQueValorDoCurso()
        {
            var curso = CursoBuilder.Novo().ComValor(100).Build();
            var valorPagoMaiorQueCurso = curso.Amount + 1;

            Assert.Throws <DomainException>(() =>
                                            MatriculaBuilder.Novo().ComCurso(curso).ComValorPago(valorPagoMaiorQueCurso).Build())
            .ComMensagem(Resource.PaidAmountBiggerThanCourseValue);
        }
Beispiel #24
0
        public void NaoDeveCursoEAlunoTerPublicoAlvoDiferentes()
        {
            // Arrange
            var curso = CursoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Empreendedor).Build();
            var aluno = AlunoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Estudante).Build();


            Assert.Throws <ExcecaoDeDominio>(() => MatriculaBuilder.Novo().ComAluno(aluno).ComCurso(curso).Build())
            .ComMensagem(Resource.PublicoAlvoDiferente);
        }
        public void DeveCancelarUmaMatricula()
        {
            var matricula = MatriculaBuilder.Novo().Build();

            _matriculaRepositorio.Setup(r => r.ObterPorId(matricula.Id)).Returns(matricula);

            _cancelamentoDaMatricula.Cancelar(matricula.Id);

            Assert.True(matricula.Cancelada);
        }
        public void DeveCancelarMatricula()
        {
            var matricula = MatriculaBuilder.Novo().Build();

            _matriculaRepositorio.Setup(r => r.GetById(matricula.Id)).Returns(matricula);

            _enrollmentCancelation.Cancelar(matricula.Id);

            Assert.True(matricula.Canceled);
        }
        public void DeveInformarNotaDoAluno()
        {
            const double notaDoAlunoEsperada = 8;
            var          matricula           = MatriculaBuilder.Novo().Build();

            _matriculaRepositorio.Setup(r => r.GetById(matricula.Id)).Returns(matricula);

            _enrollmentConclusion.Concluir(matricula.Id, notaDoAlunoEsperada);

            Assert.Equal(notaDoAlunoEsperada, matricula.StudentGrade);
        }
Beispiel #28
0
        public void NaoDeveCriarMatriculaComValorPagoInvalido()
        {
            // Arrange and Act
            const decimal valorPagoInvalido = -10M;

            //Assert
            Assert.Throws <ExcecaoDeDominio>(() => MatriculaBuilder.Novo()
                                             .ComValorPago(valorPagoInvalido)
                                             .Build())
            .ComMensagem(Resource.ValorPagoInvalido);
        }
        public void DeveInformarNotaDoAluno()
        {
            const double notaDoAlunoEsperada = 8;
            var          matricula           = MatriculaBuilder.Novo().Build();

            _matriculaRepositorio.Setup(r => r.ObterPorId(matricula.Id)).Returns(matricula);

            _conclusaoDaMatricula.Concluir(matricula.Id, notaDoAlunoEsperada);

            Assert.Equal(notaDoAlunoEsperada, matricula.NotaDoAluno);
        }
Beispiel #30
0
        public void DeveIndicarDescontaNaMatricula()
        {
            // Arrange
            var     curso            = CursoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Empreendedor).ComValor(100).Build();
            decimal valorComDesconto = Convert.ToDecimal(curso.Valor - 1);

            var matriculaComDesconto = MatriculaBuilder.Novo().ComCurso(curso)
                                       .ComValorPago(valorComDesconto)
                                       .Build();

            Assert.True(matriculaComDesconto.PossuiDesconto);
        }