package com.dodo.blog.server.impl.it;
import com.dodo.blog.model.Category;
import com.dodo.blog.request.BasicRequest;
import com.dodo.blog.server.CategoryService;
import com.google.guiceberry.junit4.GuiceBerryRule;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import javax.inject.Inject;
import java.util.List;
/**
* @author <a href="mailto:pohorelec@comvai.com">Jozef Pohorelec</a>
*/
public class CategoryServiceTest
extends ServicesEnvironment
{
@Rule
public final GuiceBerryRule guiceBerry = new GuiceBerryRule( ServicesEnvironment.class );
@Inject
private CategoryService categoryService;
@Test
public void testSaveCategory()
{
Assert.assertEquals( Long.valueOf( 1 ), saveCategory().getId() );
}
@Test
public void testGetCategoryByNormalizedName()
{
Category category = saveCategory();
category = categoryService.getCategoryById( category.getId() );
Assert.assertEquals( "google-app-engine", category.getNormalizedName() );
}
@Test
public void testDeleteCategory()
{
Category category = saveCategory();
Long id = category.getId();
categoryService.deleteCategory( id );
Assert.assertNull( categoryService.getCategoryById( id ) );
}
@Test
public void testGetCategoryList()
{
saveCategory();
List<Category> categoryList = categoryService.getCategoryList( new BasicRequest( 0, 20 ) );
Assert.assertEquals( 1, categoryList.size() );
Assert.assertEquals( "Google App Engine", categoryList.get( 0 ).getName() );
}
private Category saveCategory()
{
Category category = new Category();
category.setName( "Google App Engine" );
categoryService.saveCategory( category );
return category;
}
}