ko-archetype/src/main/resources/archetype-resources/src/test/java/TwitterClientTest.java
4 import net.java.html.BrwsrCtx;
5 import net.java.html.json.Models;
6 import static org.testng.Assert.*;
7 import org.testng.annotations.BeforeMethod;
8 import org.testng.annotations.Test;
10 /** We can unit test the TwitterModel smoothly.
12 public class TwitterClientTest {
13 private TwitterModel model;
17 public void initModel() {
18 model = Models.bind(new TwitterModel(), BrwsrCtx.EMPTY);
21 @Test public void testIsValidToAdd() {
22 model.setUserNameToAdd("Joe");
23 Tweeters t = Models.bind(new Tweeters(), BrwsrCtx.EMPTY);
25 model.getSavedLists().add(t);
26 model.setActiveTweetersName("test");
28 assertTrue(model.isUserNameToAddIsValid(), "Joe is OK");
29 TwitterClient.addUser(model);
30 assertFalse(model.isUserNameToAddIsValid(), "Can't add Joe for the 2nd time");
31 assertEquals(t.getUserNames().size(), 0, "Original tweeters list remains empty");
33 List<String> mod = model.getActiveTweeters();
34 assertTrue(model.isHasUnsavedChanges(), "We have modifications");
35 assertEquals(mod.size(), 1, "One element in the list");
36 assertEquals(mod.get(0), "Joe", "Its name is Joe");
38 assertSame(model.getActiveTweeters(), mod, "Editing list is the modified one");
40 TwitterClient.saveChanges(model);
41 assertFalse(model.isHasUnsavedChanges(), "Does not have anything to save");
43 assertSame(model.getActiveTweeters(), mod, "Still editing the old modified one");
46 @Test public void httpAtTheEnd() {
47 String res = TwitterClient.Twt.html("Ahoj http://kuk");
48 assertEquals(res, "Ahoj <a href='http://kuk'>http://kuk</a>");