Package com.tmm.enterprise.microblog.service

Source Code of com.tmm.enterprise.microblog.service.EmailServiceTest

package com.tmm.enterprise.microblog.service;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import javax.persistence.EntityManager;

import org.junit.Before;
import org.junit.Test;

import com.tmm.enterprise.microblog.core.exception.ButterflyException;
import com.tmm.enterprise.microblog.domain.Person;
import com.tmm.enterprise.microblog.domain.enums.UserRole;
import com.tmm.enterprise.microblog.security.Account;
import com.tmm.enterprise.microblog.security.Role;

public class EmailServiceTest {

  private MessageService emailService = new MessageService();
  private AccountService accountService;
  private ContactableService contactService;
  private EntityManager entitManager;

  @Before
  public void before() {
    accountService = mock(AccountService.class);
    contactService = mock(ContactableService.class);
    entitManager = mock(EntityManager.class);
    emailService.setAccountService(accountService);
    emailService.setContactService(contactService);
    emailService.setEntityManager(entitManager);
  }

  @Test
  public void testSendEmail() {
    Account acc = new Account();
    acc.setId(1l);
    acc.setUserName("rob");
    Role r = new Role();
    r.setRole(UserRole.MEMBER.toString());
    acc.addRole(r);

    Person p = new Person();
    p.setRole(UserRole.MEMBER);
    p.setLinkedAccount(acc);
    acc.setUserProfile(p);

    // mock out calls to other service classes
    when(accountService.loadAccountByUserName("rob")).thenReturn(acc);
    when(contactService.loadPerson(1l)).thenReturn(p);

    try {
      emailService.sendEmail("rob", "test Email body..", "1");
    } catch (ButterflyException e) {
      fail("Unexpected Exception");
    }

    assertEquals(1, p.getReceivedMessages().size());
    assertEquals("test Email body..", p.getReceivedMessages().get(0).getDetails());
  }

}
TOP

Related Classes of com.tmm.enterprise.microblog.service.EmailServiceTest

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.