Package no.kommune.bergen.soa.svarut

Source Code of no.kommune.bergen.soa.svarut.AltinnnFacadeTest

package no.kommune.bergen.soa.svarut;

import no.kommune.bergen.soa.common.util.TemplateEngine;
import no.kommune.bergen.soa.common.util.VelocityTemplateEngine;
import no.kommune.bergen.soa.svarut.AltinnFacade;
import no.kommune.bergen.soa.svarut.VelocityModelFactory;
import no.kommune.bergen.soa.svarut.altinn.MockCorrespondenceClient;
import no.kommune.bergen.soa.svarut.altinn.correspondence.CorrespondenceMessage;
import no.kommune.bergen.soa.svarut.dao.ForsendelsesArkivTest;
import no.kommune.bergen.soa.svarut.domain.Forsendelse;

import org.apache.velocity.app.VelocityEngine;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AltinnnFacadeTest {
  private MockCorrespondenceClient myCorrespondenceClient;
  private AltinnFacade altinnFacade;

  @Before
  public void setup() {
    VelocityModelFactory velocityModelFactory = VelocityModelFactoryTest.createVelocityModelFactory();
    myCorrespondenceClient = new MockCorrespondenceClient( MockCorrespondenceClient.newSettings() );
    altinnFacade = new AltinnFacade( getTemplateEngine(), myCorrespondenceClient, velocityModelFactory );
  }

  @Test
  public void send() {
    Forsendelse forsendelse = newForsendelse();
    altinnFacade.send( forsendelse );
    CorrespondenceMessage message = myCorrespondenceClient.getLatestMessage();
    verifyMessageTitle( forsendelse, message );
    verifyMessageBody( forsendelse, message );
  }

  private void verifyMessageBody( Forsendelse forsendelse, CorrespondenceMessage message ) {
    Assert.assertFalse( message.getMessageBody().contains( "$" ) );
    Assert.assertTrue( message.getMessageBody().contains( forsendelse.getMeldingsTekst() ) );
    Assert.assertTrue( message.getMessageBody().contains( forsendelse.getId() ) );
  }

  private void verifyMessageTitle( Forsendelse forsendelse, CorrespondenceMessage message ) {
    Assert.assertFalse( message.getMessageTitle().contains( "$" ) );
    Assert.assertTrue( message.getMessageTitle().contains( forsendelse.getTittel() ) );
  }

  private TemplateEngine getTemplateEngine() {
    System.setProperty( "CONSTRETTO_TAGS", "DEV" );
    ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml" );
    VelocityEngine velocityEngine = (VelocityEngine)context.getBean( "velocityEngineFactoryBean" );
    VelocityTemplateEngine velocityTemplateEngine = new VelocityTemplateEngine();
    velocityTemplateEngine.setVelocityEngine( velocityEngine );
    return velocityTemplateEngine;
  }

  private Forsendelse newForsendelse() {
    Forsendelse forsendelse = ForsendelsesArkivTest.createForsendelse( 1 );
    satisfyChecksInMockCorrespondenceClient( forsendelse );
    return forsendelse;
  }

  private void satisfyChecksInMockCorrespondenceClient( Forsendelse forsendelse ) {
    CorrespondenceMessage message = MockCorrespondenceClient.createMessage();
    forsendelse.setId( message.getExternalReference() );
    forsendelse.setMeldingsTekst( message.getMessageBody() );
    forsendelse.setTittel( message.getMessageTitle() );
  }
}
TOP

Related Classes of no.kommune.bergen.soa.svarut.AltinnnFacadeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.