コード例 #1
0
ファイル: tests.py プロジェクト: spenglerBR/FreelaTI.com
class Test(TestCase):


    def setUp(self):
        self.oControle= Controle()
        self.oProjetoControle= ProjetoControle()
        self.mokarTipoUsuario()
        self.mokarClasseUsuario()
        self.mokarPortfolio()
        self.mokarCriacaoDeUmUsuario()  
        self.mokarCriacaoDeProjeto()
        pass


    def tearDown(self):
        pass


    def mokarCriacaoDeUmUsuario(self):
        iEmailUsuario1= '*****@*****.**'
        iSenhaUsuario1= 'teste'
        iUsername1= '000001'
        iTipoUsuario1= Tipo_de_Usuario.objects.filter(id_tipo_usuario= constantes.cntTipoUsuarioFreelancer)[0]
        iClasseUsuario1= Classe_de_Usuario.objects.filter(id_classe_usuario= constantes.cntClasseUsuarioPadrao)[0]
        iRecebeEmail1= True
        iNome= 'Nome'
        iSobrenome= 'Sobrenome'
        iUsuario1= Usuario(email=iEmailUsuario1, password=iSenhaUsuario1, tipo_usuario= iTipoUsuario1, 
                           receber_email= iRecebeEmail1, first_name= iNome, last_name= iSobrenome,
                           classe_usuario= iClasseUsuario1)
        iUsuario1.save()
            
        self.assertEquals(iUsername1, (Usuario.objects.filter(email= iEmailUsuario1)[0]).username)

    def testCriandoDoisUsuarios(self):
        iEmailUsuario1= '*****@*****.**'
        iSenhaUsuario1= 'teste'
        iUsername1= '000001'
        iTipoUsuario1= Tipo_de_Usuario.objects.filter(id_tipo_usuario= constantes.cntTipoUsuarioFreelancer)[0]
        iClasseUsuario1= Classe_de_Usuario.objects.filter(id_classe_usuario= constantes.cntClasseUsuarioPadrao)[0]
        iRecebeEmail1= True
        iUsuario1= Usuario(email=iEmailUsuario1, password=iSenhaUsuario1, tipo_usuario= iTipoUsuario1, 
                           receber_email= iRecebeEmail1, classe_usuario= iClasseUsuario1)
        iUsuario1.save()
        
        iEmailUsuario2= '*****@*****.**'
        iSenhaUsuario2= 'teste2'
        iUsername2= '000009'
        iTipoUsuario2= Tipo_de_Usuario.objects.filter(id_tipo_usuario= constantes.cntTipoUsuarioFreelancer)[0]
        iClasseUsuario2= Classe_de_Usuario.objects.filter(id_classe_usuario= constantes.cntClasseUsuarioPadrao)[0]
        iRecebeEmail2= True
        iUsuario2= Usuario(email=iEmailUsuario2, password=iSenhaUsuario2, tipo_usuario= iTipoUsuario2, 
                           receber_email= iRecebeEmail2, classe_usuario= iClasseUsuario2)
        iUsuario2.save()
            
        self.assertEquals(iUsername1, (Usuario.objects.filter(email= iEmailUsuario1)[0]).username)
        self.assertEquals(iUsername2, (Usuario.objects.filter(email= iEmailUsuario2)[0]).username)
        
    def testEditandoConfiguracoes(self):
        iUsuario= Usuario.objects.all()[0]
        
        if iUsuario.receber_email:
            iUsuario.receber_email= False
        else:
            iUsuario.receber_email= True
        
        iUsuario.save()
        
        self.assertEquals(iUsuario.receber_email, 
                          (Usuario.objects.filter(username= iUsuario.username)[0]).receber_email)
        
    def testEditandoPerfil(self):
        iPrimeiroNome= 'Nome'
        iSobrenome= 'Sobrenome'
        iEmpresa= 'Empresa'
        
        iDDD= '48'
        iTelefone= '22223333'
        iCEP= '88000230'
        iRua= 'Rua das Margaridas Amarelas Semi-Floridas'
        iNumero= '2000'
        iComplemento= 'Cogumelo 1'
        iBairro= 'Floresta de Antena'
        iCidade= 'Cidade'
        iUF= 'SC'
        iPais= 'Pais'
        
        iUsuario= Usuario.objects.all()[0]
        
        iUsuario.first_name= iPrimeiroNome
        iUsuario.last_name= iSobrenome
        iUsuario.save()
        
        iEndereco= Endereco()
        iEndereco.cidade= iCidade
        iEndereco.uf= iUF
        
        self.oControle.salvaEnderecoDoUsuario(iEndereco, iUsuario) 
            
        self.assertEquals(iSobrenome, (Usuario.objects.filter(username= iUsuario.username)[0]).last_name)
        self.assertEquals(iEndereco.uf, (Usuario.objects.filter(username= iUsuario.username)[0]).id_endereco.uf)
    
    def testObtendoListaDeHabilidadesDoProjeto(self):
        self.mokarAssociandoHabilidadesAoProjeto()
        iListaDeHabilidades= [1001, 1002, 1003]
        iProjeto= Projetos.objects.all()[0]
        
        self.oControle.obterIDsHabilidadesDoProjeto(iProjeto)
        self.assertEqual(iListaDeHabilidades, self.oControle.obterIDsHabilidadesDoProjeto(iProjeto))
        
    def testObtendoNomeDoUsuario(self):
        iUsuario= Usuario.objects.all()[0]
        iIDUsuario= iUsuario.id
        
        iNome= self.oControle.obterNomeUsuario(iIDUsuario)
        
        self.assertEqual(iNome, 'Nome S.')
        

    def testObtendoListaDeHabilidadesDoUsuario(self):
        self.mokarAssociandoHabilidadesAoUsuario()
        iListaDeHabilidades= [1001, 1002, 1003]
        iUsuario= Usuario.objects.all()[0]
        
        self.oControle.obterIDsHabilidadesDoUsuario(iUsuario)
        self.assertEqual(iListaDeHabilidades, self.oControle.obterIDsHabilidadesDoUsuario(iUsuario))
    
    def testObtendoUsuario(self):
        iUser= Usuario.objects.all()[0]
        self.assertEqual(iUser, self.oControle.obterUsuario(iUser))
        
    def testAlterandoEstadoDoProjeto(self): 
        iProjeto= Projetos.objects.all()[0]
        
        self.oProjetoControle.alteraEstadoDoProjeto(iProjeto, constantes.cntEstadoProjeto_Publicado) 
        
        self.assertEqual(iProjeto.id_estado.id_estado, constantes.cntEstadoProjeto_Publicado)
    
    def testObtendendoEnderecoDoUsuario(self):
        self.testEditandoPerfil()
        iUsuario= Usuario.objects.all()[0]
        
        iEndereco= self.oControle.obterEnderecoDoUsuario(iUsuario.id)
        
        self.assertEquals(iEndereco.cep, (Usuario.objects.filter(id= iUsuario.id)[0]).id_endereco.cep )
    
    def testCriandoPortfolio(self):
        iUsuario= Usuario.objects.all()[0]
        iGitHub= 'spenglerBR'
        iLinkedIn= 'alexandrespengler'
        iCoderWall= None
        iSiteEmpresa= 'http://shiftit.com.br'
        
        self.oControle.salvaPortfolioDoUsuario(iUsuario.id, iGitHub, iLinkedIn, iCoderWall, None, iSiteEmpresa)
        
        self.assertEquals('http://github.com/spenglerBR', (Portfolio_Usuario.objects.filter(id_usuario= iUsuario.id,
                                                                     id_portfolio= constantes.cntPortfolio_GitHub)[0]).url )
        
    def testObtendoPortfolioDoUsuario(self):
        self.testCriandoPortfolio()
        iUsuario= Usuario.objects.all()[0]
        
        iSiteEmpresa= 'http://shiftit.com.br'
        iCoderWall= None
        iGitHub= 'spenglerBR'
        
        iPortfolio= self.oControle.obtemPortfolioDoUsuario(iUsuario.id)
        
        self.assertEquals(iSiteEmpresa, iPortfolio.siteEmpresa)
        self.assertEquals(iCoderWall, iPortfolio.coderWall)
        self.assertEquals(iGitHub, iPortfolio.usuario_gitHub)
    
    def testCalculandoPontucaoDoPerfil(self):
        iUsuario= Usuario.objects.all()[0]
        iPontuacao= self.oControle.calculaPontucaoPerfil(iUsuario)
        
        self.assertEquals(9, iPontuacao)
    
    def testCalculandoPontucaoDePropostas(self):
        iUsuario= Usuario.objects.all()[0]
        iPontuacao= self.oControle.calculaPontuacaoPropostas(iUsuario)
        
        self.assertEquals(0, iPontuacao)
    
    def testCalculandoPontucaoDeProjetos(self):
        iUsuario= Usuario.objects.all()[0]
        iPontuacao= self.oControle.calculaPontuacaoProjetos(iUsuario)
        
        self.assertEquals(0, iPontuacao)
    
    def testCalculandoPontucaoDeViolacoes(self):
        iUsuario= Usuario.objects.all()[0]
        iPontuacao= self.oControle.calculaPontuacaoViolacoes(iUsuario)
        
        self.assertEquals(0, iPontuacao)
    
    def testCalculandoPontucaoDoUsuario(self):
        iUsuario= Usuario.objects.all()[0]
        iPontuacao= self.oControle.calculaPontuacaoDoUsuario(iUsuario.id)
        
        self.assertEquals(0.9, float('%.1f' % iPontuacao))
    
    
        
#--------------------------------------------------------MOKS----------------------------------------------------------

    def mokarTipoUsuario(self):
        iDescricao= 'Freelancer'
        
        iTipoUsuario1= Tipo_de_Usuario(descricao= iDescricao)
        
        iTipoUsuario1.save()
        
        iDescricao= 'Ofertante'
        
        iTipoUsuario2= Tipo_de_Usuario(descricao= iDescricao)
        
        iTipoUsuario2.save()
        
        iDescricao= 'Ambos'
        
        iTipoUsuario3= Tipo_de_Usuario(descricao= iDescricao)
        
        iTipoUsuario3.save()
        
    
    def mokarClasseUsuario(self):
        iDescricao= 'Padrao'
        
        iClasseUsuario1= Classe_de_Usuario(descricao= iDescricao)
        
        iClasseUsuario1.save()
    
    def mokarCriacaoDeProjeto(self):
        iNome= 'Projeto teste'
        iProprietario= Usuario.objects.all()[0]
        iCategoria= self.mokarTipoHabilidade()
        iValor= self.mokarValorProjeto()
        iEstado= self.mokarEstadoProjeto()
        iDescricacao= 'Teste de descricacao'
        iDuracao= 20
        iTemAnexo= False
        
        
        iProjeto= Projetos(id_proprietario= iProprietario, id_categoria= iCategoria, id_valor= iValor,
                           id_estado= iEstado, nome= iNome, descricao= iDescricacao, duracao= iDuracao, 
                           tem_anexo= iTemAnexo)
        
        iProjeto.save()
        
    
    def mokarAssociandoHabilidadesAoUsuario(self):
        iListaDeHabilidades= [1001, 1002, 1003]
        
        iUsuario= Usuario.objects.all()[0]
        
        self.mokarHabilidades()
        
        self.oControle.salvaHabilidadesDoUsuario(iListaDeHabilidades, iUsuario)
        

    def mokarAssociandoHabilidadesAoProjeto(self):
        iListaDeHabilidades= [1001, 1002, 1003]
        
        iProjeto= Projetos.objects.all()[0]
        
        self.mokarHabilidades()
        
        self.oControle.salvaHabilidadesDoProjeto(iListaDeHabilidades, iProjeto)
    
    
    def mokarHabilidades(self):
        iDescricao1= 'Django'
        iID1= 1001
        
        iDescricao2= 'Rails'
        iID2= 1002
        
        iDescricao3= 'Zend'
        iID3= 1003
        
        iTipoHabilidade= self.mokarTipoHabilidade()
        
        iHabilidade1= Habilidades(id_habilidade= iID1, descricao= iDescricao1, id_tipo= iTipoHabilidade)    
        iHabilidade2= Habilidades(id_habilidade= iID2, descricao= iDescricao2, id_tipo= iTipoHabilidade) 
        iHabilidade3= Habilidades(id_habilidade= iID3, descricao= iDescricao3, id_tipo= iTipoHabilidade) 
        
        iHabilidade1.save()
        iHabilidade2.save()
        iHabilidade3.save()
        
        return True
    
    def mokarTipoHabilidade(self):
        iDescricao= 'Habilidade Teste'
        
        iTipoHabilidade= Tipo_de_Habilidade(descricao= iDescricao)
        
        iTipoHabilidade.save()
        
        return Tipo_de_Habilidade.objects.all()[0]
    
    def mokarValorProjeto(self):
        iDescricao= 'Valor Teste'
        
        iValorProjeto= Valor_do_Projeto(descricao= iDescricao)
        
        iValorProjeto.save()
        
        return Valor_do_Projeto.objects.all()[0]
    
    def mokarEstadoProjeto(self):
        iDescricao1= 'Novo'
        
        iEstadoProjeto1= Estado_do_Projeto(descricao= iDescricao1)
        
        iEstadoProjeto1.save()
        
        iDescricao2= 'Publicado'
        
        iEstadoProjeto2= Estado_do_Projeto(descricao= iDescricao2)
        
        iEstadoProjeto2.save()
        
        return Estado_do_Projeto.objects.all()[0]

    def mokarPortfolio(self):
        iDescricao1= 'GitHub'
        iPortfolio1= Portfolio(descricao= iDescricao1)
        iPortfolio1.save()
        
        iDescricao2= 'LinkedIn'
        iPortfolio2= Portfolio(descricao= iDescricao2)
        iPortfolio2.save()
        
        iDescricao3= 'CoderWall'
        iPortfolio3= Portfolio(descricao= iDescricao3)
        iPortfolio3.save()
        
        iDescricao4= 'SitePessoal'
        iPortfolio4= Portfolio(descricao= iDescricao4)
        iPortfolio4.save()
        
        iDescricao5= 'SiteEmpresa'
        iPortfolio5= Portfolio(descricao= iDescricao5)
        iPortfolio5.save()