Package com.madgnome.jira.plugins.jirachievements.data.services.impl

Source Code of com.madgnome.jira.plugins.jirachievements.data.services.impl.UserWrapperDaoServiceTest

package com.madgnome.jira.plugins.jirachievements.data.services.impl;

import com.atlassian.crowd.embedded.api.User;
import com.atlassian.crowd.embedded.impl.ImmutableUser;
import com.madgnome.jira.plugins.jirachievements.data.ao.UserWrapper;
import com.madgnome.jira.plugins.jirachievements.data.services.IUserWrapperDaoService;
import org.junit.Before;
import org.junit.Test;

import java.util.List;

import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class UserWrapperDaoServiceTest extends AbstractServiceTest
{
  private IUserWrapperDaoService userWrapperDaoService;

  @Before
  public void setUp() throws Exception
  {
    userWrapperDaoService = new UserWrapperDaoService(createActiveObjects());
  }

  @Test
  public void createShouldCreateAndReturnUserWrapper() throws Exception
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    UserWrapper userWrapper = userWrapperDaoService.create(user);
    assertNotNull(userWrapper);
    entityManager.flushAll();

    UserWrapper newUserWrapper = userWrapperDaoService.get(name);
    assertNotNull(newUserWrapper);
    assertEquals(name, newUserWrapper.getJiraUserName());
  }

  @Test
  public void shouldNotCreateTwoUserWrapperWithSameName()
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    UserWrapper firstUserWrapper = userWrapperDaoService.create(user);
    entityManager.flushAll();
   
    UserWrapper secondUserWrapper = userWrapperDaoService.create(user);
    entityManager.flushAll();
    assertEquals(firstUserWrapper.getID(), secondUserWrapper.getID());
  }

  @Test
  public void getShouldReturnNullIfAnyStatisticWithRef()
  {
    assertNull(userWrapperDaoService.get("bob"));
  }

  @Test
  public void getShouldReturnUserWrapperWithName()
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    userWrapperDaoService.create(user);
    entityManager.flushAll();

    UserWrapper userWrapper = userWrapperDaoService.get(name);
    assertNotNull(userWrapper);
    assertEquals(name, userWrapper.getJiraUserName());
  }

  @Test
  public void getOrCreateShouldCreateIfAny()
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    assertNull(userWrapperDaoService.get(user));
    UserWrapper userWrapper = userWrapperDaoService.getOrCreate(user);
    assertNotNull(userWrapper);
    entityManager.flushAll();

    assertNotNull(userWrapperDaoService.get(name));
  }

  @Test
  public void getOrCreateShouldReturnIfRefExists()
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    UserWrapper existingWrapper = userWrapperDaoService.create(user);

    UserWrapper userWrapper = userWrapperDaoService.getOrCreate(user);
    assertNotNull(userWrapper);
    assertEquals(existingWrapper, userWrapper);
  }

  @Test
  public void getOrCreateShouldCreateFirstThenReturn()
  {
    String name = "bob";
    User user = new ImmutableUser(0, name, "Sponge Bob", null, true);
    assertNull(userWrapperDaoService.get(user));
    UserWrapper existingUserWrapper = userWrapperDaoService.getOrCreate(user);
    assertNotNull(existingUserWrapper);

    UserWrapper userWrapper = userWrapperDaoService.getOrCreate(user);
    assertNotNull(userWrapper);
    assertEquals(existingUserWrapper, userWrapper);
  }

  @Test
  public void allShouldReturnAllUserWrapper()
  {
    userWrapperDaoService.create(new ImmutableUser(0, "bob", "Sponge Bob", null, true));
    userWrapperDaoService.create(new ImmutableUser(0, "patrick", "Star Patrick", null, true));
    userWrapperDaoService.create(new ImmutableUser(0, "eugene", "Krabs Eugene", null, true));

    List<UserWrapper> userWrappers = userWrapperDaoService.all();
    assertEquals(3, userWrappers.size());
  }

  @Test
  public void activateFalseShouldDeactivateUser() throws Exception
  {
    userWrapperDaoService.create(new ImmutableUser(0, "bob", "Sponge Bob", null, true));

    final User user = mock(User.class);
    when(user.getName()).thenReturn("bob");
    userWrapperDaoService.activate(user, false);

    assertFalse(userWrapperDaoService.get(user).isActive());
  }
}
TOP

Related Classes of com.madgnome.jira.plugins.jirachievements.data.services.impl.UserWrapperDaoServiceTest

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.