package jp.agentec.sinaburocast.service;

import java.util.List;

import javax.annotation.Resource;

import jp.agentec.sinaburocast.entity.DeliveryGroupMember;
import jp.agentec.sinaburocast.entity.EnqueteMail;
import jp.agentec.sinaburocast.form.admin.mail.MailResultForm;
import jp.agentec.sinaburocast.form.admin.mail.MailSearchForm;
import junit.framework.TestSuite;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.seasar.dao.unit.S2DaoTestCase;

public class EnqueteMailServiceTest extends S2DaoTestCase {

	@Resource
	private EnqueteMailService enqueteMailService;
	
	private DeliveryGroupMemberService deliveryGroupMemberService;

	public EnqueteMailServiceTest(String string) {
		super(string);
	}

	public static TestSuite suite() {
		TestSuite suite = new TestSuite("EnqueteMailServiceTest");
		suite.addTest(new EnqueteMailServiceTest("findById"));
		suite.addTest(new EnqueteMailServiceTest("findAllOrderById"));
		suite.addTest(new EnqueteMailServiceTest("findAllOrderByIdResult"));
		suite.addTest(new EnqueteMailServiceTest("insertEnqueteMailTx"));
		suite.addTest(new EnqueteMailServiceTest("insertRegistMailSendLogicTx"));
		suite.addTest(new EnqueteMailServiceTest("deleteMailTx"));
		return suite;
	}


	/**
	 * @throws java.lang.Exception
	 */
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	/**
	 * @throws java.lang.Exception
	 */
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	/**
	 * @throws java.lang.Exception
	 */
	@Before
	public void setUp() throws Exception {
        include("app.dicon");
	}

	/**
	 * @throws java.lang.Exception
	 */
	@After
	public void tearDown() throws Exception {
	}

	public void findById() {
		System.out.println(enqueteMailService.findById(1));
	}
	public void findAllOrderById() {
		MailSearchForm mailSearchForm = new MailSearchForm();
		mailSearchForm.mailSubject = "aaa";
		mailSearchForm.backFlg = false;
		System.out.println(enqueteMailService.findAllOrderById(null,1,mailSearchForm));
	}
	public void findAllOrderByIdResult() {
		MailResultForm mailResultForm = new MailResultForm();

		System.out.println(enqueteMailService.findAllOrderByIdResult(null,1,mailResultForm));
	}
	public void insertEnqueteMailTx() {
		EnqueteMail enqueteMail = new EnqueteMail();
		enqueteMail.deliveryGroupId = 1;
		System.out.println(enqueteMailService.insertEnqueteMail(enqueteMail,"test"));
	}
	public void insertRegistMailSendLogicTx() throws Exception {
		EnqueteMail enqueteMail = new EnqueteMail();
		enqueteMail.deliveryGroupId = 1;
		enqueteMail.deliveryTargetMethod = "1";
		enqueteMail.status = 1;
		enqueteMail.deliveryTargetType = "1";
		enqueteMail.version = 0;
		enqueteMail.enqueteMailId = null;
		enqueteMail.subject="CLASSTEST";
		
		List<DeliveryGroupMember> list = deliveryGroupMemberService.findAllOrderByIdAllList(enqueteMail.deliveryGroupId, null);
		System.out.println(enqueteMailService.insertRegistMailSendLogic(enqueteMail, "test", "http://localhost", list));
	}
	public void deleteMailTx() {
		EnqueteMail enqueteMail = new EnqueteMail();

		enqueteMail.enqueteMailId = 2;

		System.out.println(enqueteMailService.deleteMail(enqueteMail));
	}
}