예제 #1
0
 /// <summary>
 /// Construtor com dependency injection
 /// </summary>
 /// <param name="profissionais_saudeServices"></param>
 public Profissionais_SaudeController(
     IProfissionais_SaudeServices profissionais_saudeServices,
     IUtilizadoresServices utilizadoresServices
     )
 {
     _profissionais_saudeServices = profissionais_saudeServices;
     _utilizadorServices          = utilizadoresServices;
 }
        public void Setup()
        {
            #region Mocks - comportamentos ficticios para a lógica de negócio
            Mock <IRepository <Profissionais_Saude> > profissionais_saudeRepository = new Mock <IRepository <Profissionais_Saude> >();
            Mock <IUtilizadoresServices>        utilizadoresServices        = new Mock <IUtilizadoresServices>();
            Mock <IPerfil_UtilizadoresServices> perfil_utilizadoresServices = new Mock <IPerfil_UtilizadoresServices>();
            //Comportamento para criar o Doente
            profissionais_saudeRepository.Setup(x => x.CreateAsync(
                                                    It.IsAny <Profissionais_Saude>(),
                                                    CancellationToken.None
                                                    )).ReturnsAsync(new Profissionais_Saude()
            {
                Profissao = "Médico"
            });

            profissionais_saudeRepository.Setup(x => x.UpdateAsync(
                                                    It.IsAny <Profissionais_Saude>(),
                                                    CancellationToken.None
                                                    )).ReturnsAsync(new Profissionais_Saude()
            {
                Profissao = "Médico"
            });

            profissionais_saudeRepository.Setup(x => x.GetAsync(
                                                    It.IsAny <int>(),
                                                    CancellationToken.None
                                                    )).ReturnsAsync(new Profissionais_Saude()
            {
                Profissao = "Médico"
            });

            profissionais_saudeRepository.Setup(x => x.GetAllAsync(
                                                    CancellationToken.None
                                                    )).ReturnsAsync(new List <Profissionais_Saude>()
            {
                new Profissionais_Saude()
                {
                    Profissao = "Médico"
                }
            });

            profissionais_saudeRepository.Setup(x => x.DeleteAsync(
                                                    It.IsAny <Profissionais_Saude>(),
                                                    CancellationToken.None
                                                    ));


            perfil_utilizadoresServices.Setup(x => x.GetAllAsync(
                                                  CancellationToken.None
                                                  )).ReturnsAsync(new List <DataBase.Models.Perfil_Utilizador>()
            {
                new DataBase.Models.Perfil_Utilizador()
                {
                    Id   = 1,
                    Nome = "Doente"
                }
            });

            utilizadoresServices.Setup(x => x.GetByIdAsync(
                                           It.IsAny <int>(),
                                           CancellationToken.None
                                           )).ReturnsAsync(new DataBase.Models.Utilizadores()
            {
                Id     = 1,
                CC     = 1234,
                Idade  = 20,
                Morada = "Porto",
                NIB    = 1234,
                Nome   = "Diogo Biscaia",
                Sexo   = "M"
            });

            utilizadoresServices.Setup(x => x.CreateAsync(
                                           It.IsAny <DataBase.Models.Utilizadores>(),
                                           CancellationToken.None
                                           )).ReturnsAsync(new DataBase.Models.Utilizadores()
            {
                Id     = 1,
                CC     = 1234,
                Idade  = 20,
                Morada = "Porto",
                NIB    = 1234,
                Nome   = "Diogo Biscaia",
                Sexo   = "M"
            });

            utilizadoresServices.Setup(x => x.UpdateAsync(
                                           It.IsAny <int>(),
                                           It.IsAny <DataBase.Models.Utilizadores>(),
                                           CancellationToken.None
                                           )).ReturnsAsync(new DataBase.Models.Utilizadores()
            {
                Id     = 1,
                CC     = 1234,
                Idade  = 20,
                Morada = "Porto",
                NIB    = 1234,
                Nome   = "Diogo Biscaia",
                Sexo   = "M"
            });

            #endregion
            business = new Profissionais_SaudeServices(profissionais_saudeRepository.Object, utilizadoresServices.Object, perfil_utilizadoresServices.Object);
        }