@Test
@SpecAssertions({ @SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "a"), @SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "b"),
@SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "c"), @SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "d"),
@SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "e"), @SpecAssertion(section = TRANSACTIONAL_OBSERVER_METHODS, id = "gaa"),
@SpecAssertion(section = OBSERVER_NOTIFICATION, id = "b") })
public void testSucessfullTransaction() throws Exception {
logger.log("testSucessfullTransaction");
ActionSequence.reset();
accountService.withdrawSuccesTransaction(1);
List<String> phases = ActionSequence.getSequenceData();
assertEquals(phases.size(), 5);
assertEquals(phases.get(0), TransactionPhase.IN_PROGRESS.name());
assertEquals(phases.get(1), "checkpoint");
assertEquals(phases.get(2), TransactionPhase.BEFORE_COMPLETION.name());
assertTrue(phases.contains(TransactionPhase.AFTER_SUCCESS.name()));
assertTrue(phases.contains(TransactionPhase.AFTER_COMPLETION.name()));
}