package org.businessmanager.service;
import java.util.Calendar;
import junit.framework.Assert;
import org.businessmanager.domain.Invoice;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
@ContextConfiguration("/test-context.xml")
@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration(defaultRollback = true)
@Transactional
public class InvoiceNumberGeneratorTest {
@Autowired
private InvoiceNumberGenerator generator;
@Autowired
private InvoiceService invoiceService;
@Test
public void testDefaultNumber() {
Long number = generator.getNextInvoiceNumber();
Assert.assertEquals(Long.valueOf(100000), number);
}
@Test
public void testNumberGenerator() {
Invoice invoice = new Invoice(Calendar.getInstance());
invoiceService.saveInvoice(invoice);
Long nextInvoiceNumber = generator.getNextInvoiceNumber();
Assert.assertEquals(Long.valueOf(100001), nextInvoiceNumber);
}
}