package io.monokkel.actors;
import akka.actor.Props;
import com.google.common.collect.Sets;
import io.monokkel.core.DataCleaner;
import io.monokkel.domain.PageData;
import io.monokkel.messages.CleanTransformedContent;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import static java.lang.Thread.sleep;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.internal.util.collections.Sets.newSet;
public class CleanerActorTest extends ActorTest{
private DataCleaner mockedDataCleaner;
@Before
public void before(){
mockedDataCleaner = Mockito.mock(DataCleaner.class);
super.before();
}
@Override
protected String getActorName() {
return "cleanerActor";
}
@Test
public void onReceive_withCleanTransfomedContent_expectDataCleanerToBeCalled() throws Exception {
PageData parseOutput = new PageData(newSet("http://url"),"title",1L, "sda","asd","extractedContent",null);
subject.tell(new CleanTransformedContent(parseOutput,1, Sets.newHashSet(), 1),javaTestKit.getRef());
sleep(1000L);
verify(mockedDataCleaner, times(1)).clean(parseOutput);
}
@Override
protected Props getActor() {
return CleanerActor.props(mockedDataCleaner);
}
}