@Test
  @Transactional
  public void getAllFuncionarios() throws Exception {
    // Initialize the database
    Funcionario funcionario = funcionarioService.save(funcionarioDTO, "");
    funcionarioDTO.setId(funcionario.getId());

    // Get all the funcionarios
    restFuncionarioMockMvc
        .perform(get("/api/funcionarios"))
        .andExpect(status().isOk())
        .andExpect(content().contentType(MediaType.APPLICATION_JSON))
        .andExpect(jsonPath("$.[*].id").value(hasItem(funcionarioDTO.getId().intValue())))
        .andExpect(jsonPath("$.[*].nome").value(hasItem(DEFAULT_NOME.toString())))
        .andExpect(jsonPath("$.[*].cpf").value(hasItem(DEFAULT_CPF.toString())))
        .andExpect(jsonPath("$.[*].sexo").value(hasItem(DEFAULT_SEXO.toString())))
        .andExpect(jsonPath("$.[*].dataNascimento").value(hasItem(DEFAULT_DATA_NASCIMENTO_STR)))
        .andExpect(jsonPath("$.[*].email").value(hasItem(DEFAULT_EMAIL.toString())))
        .andExpect(jsonPath("$.[*].senha").value(hasItem(DEFAULT_SENHA.toString())))
        .andExpect(jsonPath("$.[*].ativo").value(hasItem(DEFAULT_ATIVO.booleanValue())))
        .andExpect(jsonPath("$.[*].numero").value(hasItem(DEFAULT_NUMERO)))
        .andExpect(jsonPath("$.[*].complemento").value(hasItem(DEFAULT_COMPLEMENTO.toString())))
        .andExpect(
            jsonPath("$.[*].responsavel").value(hasItem(DEFAULT_RESPONSAVEL.booleanValue())));
  }
  @Test
  @Transactional
  public void deleteFuncionario() throws Exception {
    // Initialize the database
    funcionarioService.save(funcionarioDTO, "");

    int databaseSizeBeforeDelete = funcionarioRepository.findAll().size();

    // Get the funcionarioDTO
    restFuncionarioMockMvc
        .perform(
            delete("/api/funcionarios/{id}", funcionarioDTO.getId())
                .accept(TestUtil.APPLICATION_JSON_UTF8))
        .andExpect(status().isOk());

    // Validate the database is empty
    List<Funcionario> funcionarios = funcionarioRepository.findAll();
    assertThat(funcionarios).hasSize(databaseSizeBeforeDelete - 1);
  }
  @Test
  @Transactional
  public void updateFuncionario() throws Exception {
    // Initialize the database
    Funcionario funcionario = funcionarioService.save(funcionarioDTO, "");
    funcionarioDTO.setId(funcionario.getId());

    int databaseSizeBeforeUpdate = funcionarioRepository.findAll().size();

    // Update the funcionarioDTO
    funcionarioDTO.setNome(UPDATED_NOME);
    funcionarioDTO.setCpf(UPDATED_CPF);
    funcionarioDTO.setSexo(UPDATED_SEXO);
    funcionarioDTO.setDataNascimento(UPDATED_DATA_NASCIMENTO);
    funcionarioDTO.setEmail(UPDATED_EMAIL);
    funcionarioDTO.setSenha(UPDATED_SENHA);
    funcionarioDTO.setAtivo(UPDATED_ATIVO);
    funcionarioDTO.setNumero(UPDATED_NUMERO);
    funcionarioDTO.setComplemento(UPDATED_COMPLEMENTO);

    restFuncionarioMockMvc
        .perform(
            put("/api/funcionarios")
                .contentType(TestUtil.APPLICATION_JSON_UTF8)
                .content(TestUtil.convertObjectToJsonBytes(funcionarioDTO)))
        .andExpect(status().isOk());

    // Validate the Funcionario in the database
    List<Funcionario> funcionarios = funcionarioRepository.findAll();
    assertThat(funcionarios).hasSize(databaseSizeBeforeUpdate);
    Funcionario testFuncionario = funcionarios.get(funcionarios.size() - 1);
    assertThat(testFuncionario.getNome()).isEqualTo(UPDATED_NOME);
    assertThat(testFuncionario.getCpf()).isEqualTo(UPDATED_CPF);
    assertThat(testFuncionario.getSexo()).isEqualTo(UPDATED_SEXO);
    assertThat(testFuncionario.getDataNascimento().toDateTime(DateTimeZone.UTC))
        .isEqualTo(UPDATED_DATA_NASCIMENTO);
    assertThat(testFuncionario.getEmail()).isEqualTo(UPDATED_EMAIL);
    assertThat(testFuncionario.getSenha()).isEqualTo(UPDATED_SENHA);
    assertThat(testFuncionario.getAtivo()).isEqualTo(UPDATED_ATIVO);
    assertThat(testFuncionario.getNumero()).isEqualTo(UPDATED_NUMERO);
    assertThat(testFuncionario.getComplemento()).isEqualTo(UPDATED_COMPLEMENTO);
    assertThat(testFuncionario.getResponsavel()).isEqualTo(UPDATED_RESPONSAVEL);
  }