package jp.agentec.sinaburocast.service;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.mail.MessagingException;

import jp.agentec.sinaburocast.dto.TestDto;
import jp.agentec.sinaburocast.entity.Member;
import jp.agentec.sinaburocast.entity.MemberWithdraw;
import jp.agentec.sinaburocast.entity.Test;
import jp.agentec.sinaburocast.form.user.WithDrawForm;
import junit.framework.TestSuite;

import org.apache.commons.collections.CollectionUtils;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.seasar.dao.unit.S2DaoTestCase;

public class MemberWithdrawServiceTest extends S2DaoTestCase {

	@Resource
	private MemberWithdrawService memberWithdrawService;

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

	public static TestSuite suite() {
		TestSuite suite = new TestSuite("MemberWithdrawServiceTest");
		suite.addTest(new MemberWithdrawServiceTest("insertMemberWithdrawTx"));
		suite.addTest(new MemberWithdrawServiceTest("findById"));
		suite.addTest(new MemberWithdrawServiceTest("findAllOrderById"));
		suite.addTest(new MemberWithdrawServiceTest("insertMemberWithdrawLogicTx"));
		suite.addTest(new MemberWithdrawServiceTest("findBymemberId"));
		suite.addTest(new MemberWithdrawServiceTest("findBymemberIdList"));
		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(memberWithdrawService.findById(1));
	}

	public void insertMemberWithdrawTx(){

    	MemberWithdraw memberWithdraw = new MemberWithdraw();
    	memberWithdraw.memberId=1;
    	memberWithdraw.reasonType = 0;
    	memberWithdraw.reasonComment= "test";
    	memberWithdraw.reasonType = 4;

    	System.out.println(memberWithdrawService.insertMemberWithdraw(memberWithdraw,"test"));
	}

	public void findAllOrderById(){


		List<MemberWithdraw> list =memberWithdrawService.findAllOrderById();
		for (MemberWithdraw memberWithdraw : list) {
			//System.out.println(enquete.enqueteSummary.enqueteId);
			System.out.println(memberWithdraw.memberId);
			//System.out.println(gift.giftId);
			System.out.println(memberWithdraw);
		}
	}
	public void insertMemberWithdrawLogicTx() throws UnsupportedEncodingException, MessagingException{
		Member member = new Member();
		member.memberId = 2;
		member.loginId = "testtest";
		member.password = "testtest";
		member.validFlg = 1;
		member.pointNum = 0;
		member.authFailNum = 0;
		member.delFlg = 0;

		WithDrawForm withDrawForm = new WithDrawForm();
		withDrawForm.reasonMsg="test";
		ArrayList<String> kk = new ArrayList<String>();
		kk.add("0");
		kk.add("1");
		kk.add("2");

		withDrawForm.withDrowReasonBoxes = kk;



	    memberWithdrawService.insertMemberWithdrawLogic(member,withDrawForm);
	}

	public void findBymemberId() {
		System.out.println(memberWithdrawService.findBymemberId(1));
	}

	public void findBymemberIdList() {
		System.out.println(memberWithdrawService.findBymemberIdList(1));
	}

}