@Test(expected = IllegalArgumentException.class) public void naoDeveDeixarAdicionarUmaProfissaoComOMesmoNome() { Profissao manicure = new Profissao(); manicure.setNome("manicure"); when(profissaoRepo.findByName(manicure.getNome())).thenReturn(manicure); profissaoService.criarNovaProfissao(manicure); }
@Test public void deveDeletarAProfissaoEscolhidaDeTodosOsFuncionariosQueAPossuem() { Profissao manicure = mock(Profissao.class); when(manicure.getId()).thenReturn(1l); Key<Profissao> manicureKey = new Key<Profissao>(Profissao.class, 1l); Key<Profissao> pedicureKey = new Key<Profissao>(Profissao.class, 2l); Key<Profissao> depiladoraKey = new Key<Profissao>(Profissao.class, 3l); Funcionario abreu = new Funcionario(); abreu.setNome("Abreu"); abreu.setId(1l); List<Key<Profissao>> profissoesAbreu = new ArrayList<Key<Profissao>>(); profissoesAbreu.add(depiladoraKey); profissoesAbreu.add(pedicureKey); abreu.setProfissao(profissoesAbreu); Funcionario creudete = new Funcionario(); creudete.setNome("Creudete"); creudete.setId(2l); List<Key<Profissao>> profissoesCreudete = new ArrayList<Key<Profissao>>(); profissoesCreudete.add(manicureKey); profissoesCreudete.add(pedicureKey); creudete.setProfissao(profissoesCreudete); List<Funcionario> funcionarios = new ArrayList<Funcionario>(); funcionarios.add(abreu); funcionarios.add(creudete); when(funcionarioRepo.findByProfissao(any(Profissao.class))).thenReturn(funcionarios); profissaoService.deletaProfissaoDosFuncionariosQueAPossuem(manicure); assertEquals(2, abreu.getProfissao().size()); assertEquals(1, creudete.getProfissao().size()); }