com.softwarecorporativo.monitoriaifpe.funcionais.curso.TesteCurso.java Source code

Java tutorial

Introduction

Here is the source code for com.softwarecorporativo.monitoriaifpe.funcionais.curso.TesteCurso.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.softwarecorporativo.monitoriaifpe.funcionais.curso;

import com.softwarecorporativo.monitoriaifpe.funcionais.MonitoriaTestCase;
import com.softwarecorporativo.monitoriaifpe.modelo.curso.Curso;
import com.softwarecorporativo.monitoriaifpe.modelo.util.constantes.Grau;
import java.util.Set;
import javax.validation.ConstraintViolation;
import org.apache.commons.lang.RandomStringUtils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import org.junit.Ignore;
import org.junit.Test;

/**
 *
 * @author Edmilson Santana
 */
@Ignore
public class TesteCurso extends MonitoriaTestCase {

    @Test
    public void testeInserirCurso() {
        Curso curso = this.montarObjetoCurso();
        super.entityManager.persist(curso);
        super.entityManager.flush();
        super.entityManager.refresh(curso);
        assertNotNull(curso.getChavePrimaria());
    }

    @Test
    public void testAlterarCurso() {
        Curso cursoObtido = super.entityManager.find(Curso.class, 1L);
        //  cursoObtido.setGrau(Grau.TECNICO);
        super.entityManager.merge(cursoObtido);
        super.entityManager.flush();
        super.entityManager.clear();
        Curso cursoAlterado = super.entityManager.find(Curso.class, 1L);
        //assertEquals(cursoObtido.getGrau(), cursoAlterado.getGrau());
    }

    @Test
    public void testeRemoverCurso() {
        Curso curso = super.entityManager.find(Curso.class, 3L);
        super.entityManager.remove(curso);
        super.entityManager.flush();
        assertNull(super.entityManager.find(Curso.class, 3L));
    }

    @Test
    public void testeCriarCursoComDescricaoTamanhoExcedente() {
        String mensagemEsperada = "tamanho deve estar entre 1 e 100";
        Curso curso = montarObjetoCurso();
        String descricao = RandomStringUtils.random(101, "C");
        curso.setDescricao(descricao);
        Set<ConstraintViolation<Curso>> constraintViolations = validator.validate(curso);
        assertEquals(1, constraintViolations.size());
        String mensagemObtida = constraintViolations.iterator().next().getMessage();
        assertEquals(mensagemEsperada, mensagemObtida);
    }

    @Test
    public void testeCriarCursoComCodigoDoCursoInvalido() {
        String mensagemEsperada = "O cdigo do curso deve comear com uma letra maiscula, seguida de um inteiro entre 0 e 9";
        Curso curso = montarObjetoCurso();
        curso.setCodigoCurso("2R");
        Set<ConstraintViolation<Curso>> constraintViolations = validator.validate(curso);
        assertEquals(1, constraintViolations.size());
        String mensagemObtida = constraintViolations.iterator().next().getMessage();
        assertEquals(mensagemEsperada, mensagemObtida);
    }

    @Test
    public void testeCriarCursoComCodigoDoCampusInvalido() {
        String mensagemEsperada = "O cdigo do campus deve possuir apenas duas letras maisculas";
        Curso curso = montarObjetoCurso();
        curso.setCodigoCampus("Rc");
        Set<ConstraintViolation<Curso>> constraintViolations = validator.validate(curso);
        assertEquals(1, constraintViolations.size());
        String mensagemObtida = constraintViolations.iterator().next().getMessage();
        assertEquals(mensagemEsperada, mensagemObtida);
    }

    @Test
    public void testeCriarCursoComDescricaoVazia() {
        Curso curso = montarObjetoCurso();
        curso.setDescricao("");
        Set<ConstraintViolation<Curso>> constraintViolations = validator.validate(curso);
        assertEquals(3, constraintViolations.size());
    }

    @Test
    public void testeCriarCursoComDescricaoInvalida() {
        Curso curso = montarObjetoCurso();
        String mensagemEsperada = "A descrio do curso deve iniciar com uma letra "
                + "maiscula seguido de caracteres que no sejam dgitos";
        curso.setDescricao("cincia da computao");
        Set<ConstraintViolation<Curso>> constraintViolations = validator.validate(curso);
        String mensagemObtida = constraintViolations.iterator().next().getMessage();
        assertEquals(1, constraintViolations.size());
        assertEquals(mensagemEsperada, mensagemObtida);
    }

    public Curso montarObjetoCurso() {
        Curso curso = new Curso();
        //  curso.setGrau(Grau.SUPERIOR);
        curso.setDescricao("Cincia da Computao");
        curso.setCodigoCampus("RC");
        curso.setCodigoCurso("Y7");
        return curso;
    }
}