Beispiel #1
0
def test_vendedor_altera_carga_horaria_invalida():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    try:
        vend.carga_horaria = 46
    except ValueError:
        msg = 'A carga horaria foi alterada antes de levantar o ValueError'
        assert vend.carga_horaria == 20, msg
    except Exception as erro:
        class_name = erro.__class__.__name__
        msg = f'Erro encontrado ({class_name}) diferente de ValueError'
        raise AssertionError(msg)
    else:
        raise AssertionError('Não levantou ValueError para carga inválida')
Beispiel #2
0
def test_vendedor_realizar_visitas_erro(n_visitas):
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    try:
        vend.realizar_visita(n_visitas)
    except TypeError:
        msg = 'Levantou TypeError para entrada do tipo int'
        assert not isinstance(n_visitas, int), msg
    except ValueError:
        msg = 'Não levantou TypeError para entrada de tipo diferente de int'
        assert isinstance(n_visitas, int), msg
        assert n_visitas <= 0, 'Levantou ValueError para entrada válida'
    except Exception as erro:
        class_name = erro.__class__.__name__
        msg = f'Erro encontrado ({class_name}) diferente do tipo pedido'
        raise AssertionError(msg)
    else:
        raise AssertionError('Não levantou erro para entrada inválida')
Beispiel #3
0
def test_vendedor_carga_horaria_invalida(carga_horaria):
    try:
        Vendedor('Fulano', 20, '*****@*****.**', carga_horaria)
    except Exception as erro:
        class_name = erro.__class__.__name__
        msg = f'Erro encontrado ({class_name}) diferente de ValueError'
        assert isinstance(erro, ValueError), msg
    else:
        raise AssertionError('Vendedor criado com carga horária inválida')
Beispiel #4
0
def test_empresa_folha_pagamento_1():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(7)
    vend2.realizar_visita(10)
    assert emp.folha_pagamento() == 19955.0, 'Folha de pagamento calculada errada'
Beispiel #5
0
def test_vendedor_realizar_visitas():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    msg = 'Não atualizou o número de visitas do vendedor corretamente'
    vend.realizar_visita(3)
    assert vend.visitas == 3, msg
    vend.realizar_visita(6)
    assert vend.visitas == 9, msg
Beispiel #6
0
def test_empresa_contrata():
    est = Estagiario('Maria', 25, '*****@*****.**', 20)
    prog = Programador('Ana', 31, '*****@*****.**', 40)
    vend = Vendedor('Marcos', 28, '*****@*****.**', 35)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(est)
    emp.contrata(prog)
    emp.contrata(vend)
    msg = 'A equipe não contém o número correto de funcionários contratados'
    assert len(emp.equipe) == 3, msg
    msg = 'O {0} item da equipe não é o {0} funcionário contratado'
    assert emp.equipe[0] is est, msg.format('primeiro')
    assert emp.equipe[1] is prog, msg.format('segundo')
    assert emp.equipe[2] is vend, msg.format('terceiro')
Beispiel #7
0
def test_empresa_folha_pagamento_2():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    vend1.realizar_visita(3)
    vend2.realizar_visita(5)
    msg = 'Folha de pagamento calculada errada'
    assert emp.folha_pagamento() == 19685.0, msg
    emp.dissidio_anual()
    msg = 'Folha de pagamento calculada errada após o dissidio'
    assert abs(emp.folha_pagamento() - 20609.75) < 0.01, msg
def test_listar_visitas_tipo():
    prog = Programador('Julia', 31, '*****@*****.**', 40)
    est = Estagiario('Pedro', 25, '*****@*****.**', 20)
    vend1 = Vendedor('Mauro', 41, '*****@*****.**', 35)
    vend2 = Vendedor('Carla', 36, '*****@*****.**', 45)
    vend3 = Vendedor('Gabriel Martins', 34, '*****@*****.**', 22)
    emp = Empresa('ACME', 123456789, 'Tecnologia', [])
    emp.contrata(prog)
    emp.contrata(est)
    emp.contrata(vend1)
    emp.contrata(vend2)
    emp.contrata(vend3)
    vend1.realizar_visita(7)
    vend2.realizar_visita(10)
    vend3.realizar_visita(55)
    msg = 'O retorno da função não é o esperado.'
    assert emp.listar_visitas() == {
        '*****@*****.**': 7,
        '*****@*****.**': 10,
        '*****@*****.**': 55
    }, msg
Beispiel #9
0
def test_vendedor_recebe_aumento():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    vend.aumenta_salario()
    msg = 'Aumento do salário do vendedor calculado incorretamente'
    assert abs(vend.calcula_salario() - 3185.0) < 0.01, msg
Beispiel #10
0
def test_vendedor_calcula_salario02():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    vend.realizar_visita(23)
    msg = 'Salário do vendedor calculado incorretamente'
    assert vend.calcula_salario() == 3740.0, msg
Beispiel #11
0
def test_vendedor_calcula_salario01():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    msg = 'Salário do vendedor calculado incorretamente'
    assert vend.calcula_salario() == 3050.0, msg
Beispiel #12
0
def test_vendedor_zerar_visitas():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    vend.realizar_visita(5)
    vend.zerar_visitas()
    msg = 'O número de visitas não foi zerado corretamente'
    assert vend.visitas == 0, msg
Beispiel #13
0
def test_vendedor_visitas():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    msg = 'O número de visitas deve ser iniciado em zero'
    assert vend.visitas == 0, msg
Beispiel #14
0
def test_vendedor_altera_carga_horaria():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    vend.carga_horaria = 45
    msg = 'A carga horária não foi alterada para o novo valor'
    assert vend.carga_horaria == 45, msg
Beispiel #15
0
def test_vendedor_carga_horaria():
    vend = Vendedor('Fulano', 25, '*****@*****.**', 20)
    msg = ('a property carga_horaria não retornou o valor da '
           'carga horaria semanal')
    assert vend.carga_horaria == 20, msg