ko-archetype/src/main/resources/archetype-resources/src/test/java/TwitterClientTest.java
Moving archetype tests into separate module - at that moment it is possible to use the previously generated archetype
4 import net.java.html.json.Context;
5 import static org.testng.Assert.*;
6 import org.testng.annotations.BeforeMethod;
7 import org.testng.annotations.Test;
9 /** We can unit test the TwitterModel smoothly.
11 public class TwitterClientTest {
12 private TwitterModel model;
16 public void initModel() {
17 model = new TwitterModel(Context.EMPTY);
20 @Test public void testIsValidToAdd() {
21 model.setUserNameToAdd("Joe");
22 Tweeters t = new Tweeters(Context.EMPTY);
24 model.getSavedLists().add(t);
25 model.setActiveTweetersName("test");
27 assertTrue(model.isUserNameToAddIsValid(), "Joe is OK");
28 TwitterClient.addUser(model);
29 assertFalse(model.isUserNameToAddIsValid(), "Can't add Joe for the 2nd time");
30 assertEquals(t.getUserNames().size(), 0, "Original tweeters list remains empty");
32 List<String> mod = model.getActiveTweeters();
33 assertTrue(model.isHasUnsavedChanges(), "We have modifications");
34 assertEquals(mod.size(), 1, "One element in the list");
35 assertEquals(mod.get(0), "Joe", "Its name is Joe");
37 assertSame(model.getActiveTweeters(), mod, "Editing list is the modified one");
39 TwitterClient.saveChanges(model);
40 assertFalse(model.isHasUnsavedChanges(), "Does not have anything to save");
42 assertSame(model.getActiveTweeters(), mod, "Still editing the old modified one");
45 @Test public void httpAtTheEnd() {
46 String res = TwitterClient.Twt.html("Ahoj http://kuk");
47 assertEquals(res, "Ahoj <a href='http://kuk'>http://kuk</a>");