public void Setup()
        {
            _pessoa = FluentBuilder <Pessoa> .New().With(a => a.TipoDePublico, "Medico(a)").Build();

            var cursoAbertoMock = new Mock <CursoAberto>();

            cursoAbertoMock.Setup(c => c.ContemPublicoAlvo(_pessoa.TipoDePublico)).Returns(true);
            _cursoAberto        = cursoAbertoMock.Object;
            _estaPago           = true;
            _valorPago          = 100m;
            _idCursoAberto      = 100;
            _idAluno            = 600;
            _idComoFicouSabendo = 346;
            _comoFicouSabendo   = FluentBuilder <ComoFicouSabendo> .New().With(c => c.Id, _idComoFicouSabendo).Build();

            _matriculaRepositorio   = new Mock <IMatriculaRepositorio>();
            _cursoAbertoRepositorio = new Mock <ICursoAbertoRepositorio>();
            _cursoAbertoRepositorio.Setup(r => r.ObterPorId(_idCursoAberto)).Returns(_cursoAberto);
            _alunoRepositorio = new Mock <IPessoaRepositorio>();
            _alunoRepositorio.Setup(r => r.ObterPorId(_idAluno)).Returns(_pessoa);
            _comoFicouSabendoRepositorio = new Mock <IRepositorio <ComoFicouSabendo> >();
            _comoFicouSabendoRepositorio.Setup(r => r.ObterPorId(_idComoFicouSabendo)).Returns(_comoFicouSabendo);

            _criacaoDeMatricula =
                new CriacaoDeMatricula(_matriculaRepositorio.Object, _cursoAbertoRepositorio.Object, _alunoRepositorio.Object, _comoFicouSabendoRepositorio.Object);
        }
 public MatriculasController(
     CriacaoDeMatricula criacaoDeMatricula,
     AlteracaoDeDadosDaMatricula alteracaoDeDadosDaMatricula,
     CanceladorDeMatricula canceladorDeMatricula,
     ICursoAbertoRepositorio cursoAbertoRepositorio,
     IPessoaRepositorio pessoaRepositorio, IMatriculaRepositorio matriculaRepositorio,
     IRepositorio <ComoFicouSabendo> comoFicouSabendoRepositorio)
 {
     _criacaoDeMatricula          = criacaoDeMatricula;
     _alteracaoDeDadosDaMatricula = alteracaoDeDadosDaMatricula;
     _canceladorDeMatricula       = canceladorDeMatricula;
     _cursoAbertoRepositorio      = cursoAbertoRepositorio;
     _pessoaRepositorio           = pessoaRepositorio;
     _matriculaRepositorio        = matriculaRepositorio;
     _comoFicouSabendoRepositorio = comoFicouSabendoRepositorio;
 }
        public CriacaoDeMatriculaTest()
        {
            _cursoRepositorio     = new Mock <ICursoRepositorio>();
            _alunoRepositorio     = new Mock <IAlunoRepositorio>();
            _matriculaRepositorio = new Mock <IMatriculaRepositorio>();

            _aluno = AlunoBuilder.Novo().ComId(33).ComPublicoAlvo(PublicoAlvo.Universitário).Build();
            _alunoRepositorio.Setup(r => r.ObterPorId(_aluno.Id)).Returns(_aluno);

            _curso = CursoBuilder.Novo().ComId(5).ComPublicoAlvo(PublicoAlvo.Universitário).Build();
            _cursoRepositorio.Setup(r => r.ObterPorId(_curso.Id)).Returns(_curso);

            _matriculaDto = new MatriculaDto {
                AlunoId = _aluno.Id, CursoId = _curso.Id, ValorPago = _curso.Valor
            };

            _criracaoDeMatricula = new CriacaoDeMatricula(_alunoRepositorio.Object, _cursoRepositorio.Object, _matriculaRepositorio.Object);
        }