package testUnitaire.database.crud.alltest;

import java.math.BigDecimal;
import java.sql.Date;
import java.sql.SQLException;
import java.sql.Time;

import org.junit.Before;
import org.junit.Test;

import testUnitaire.database.crud.testCrud;
import database.crud.vente.VenteCrud;
import database.dataset.Vente;

public class testCrudVenteGeneral extends testCrud<Vente> {
 
	@Override
	@Before
	public void init() throws SQLException {
		setCrud(new VenteCrud(getConnection()));
		setDataset(new Vente(magicID, Time.valueOf("10:10:00"), Date.valueOf("2013-05-07"), new BigDecimal("2.30"), magicID, magicID));
		setDataset2(new Vente(magicID+1, Time.valueOf("10:10:00"), Date.valueOf("2013-05-07"), new BigDecimal("2.30"), magicID, magicID));
	}

	@Test(expected = SQLException.class)  
	public void insertionDuneFKfactureNonValide() throws SQLException {  
		getCrud().create(new Vente(magicID-1, Time.valueOf("10:10:00"), Date.valueOf("2013-05-07"), new BigDecimal("2.30"), magicID+1, magicID));
	}
	
	@Test(expected = SQLException.class)  
	public void insertionDuneFKarticleNonValide() throws SQLException {  
		getCrud().create(new Vente(magicID-1, Time.valueOf("10:10:00"), Date.valueOf("2013-05-07"), new BigDecimal("2.30"), magicID, magicID+1));
	}
	
	@Test
	public void testDeReadByFkfacture() throws SQLException{
		for (Vente r :((VenteCrud)getCrud()).readByfacture_fk(magicID))
			System.out.println(r.toString());
	}
	
	@Test
	public void testDeReadByFkarticle() throws SQLException{
		for (Vente r :((VenteCrud)getCrud()).readByarticle_fk(magicID))
			System.out.println(r.toString());
	}
}