예제 #1
0
        public void Criar(MatriculaDto matriculaDto)
        {
            var curso = _cursoRepositorio.ObterPorId(matriculaDto.CursoId);
            var aluno = _alunoRepositorio.ObterPorId(matriculaDto.AlunoId);

            ValidadorDeRegra.Novo()
            .Quando(curso == null, Resource.CursoNaoEncontrado)
            .Quando(aluno == null, Resource.AlunoNaoEncontrado)
            .DispararExcecaoSeExistir();

            var matricula = new CursoOnline.Dominio.Matriculas
                            .Matricula(aluno, curso, matriculaDto.ValorPago);

            _matriculaRepositorio.Adicionar(matricula);
        }
예제 #2
0
        public void DeveCriarMatricula()
        {
            // Arrange
            var curso             = CursoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Empreendedor).Build();
            var matriculaEsperada = new
            {
                Aluno     = AlunoBuilder.Novo().ComPublicoAlvo(PublicoAlvo.Empreendedor).Build(),
                Curso     = curso,
                ValorPago = Convert.ToDecimal(curso.Valor)
            };

            // Act
            var matricula = new CursoOnline.Dominio.Matriculas.Matricula(matriculaEsperada.Aluno, matriculaEsperada.Curso, matriculaEsperada.ValorPago);

            // Assert
            matriculaEsperada.ToExpectedObject().ShouldMatch(matricula);
        }