ko/archetype/src/main/resources/archetype-resources/src/test/java/TwitterClientTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 24 Jun 2013 17:50:44 +0200
branchclassloader
changeset 1225 73c0973e8e0a
parent 1222 ko-archetype/src/main/resources/archetype-resources/src/test/java/TwitterClientTest.java@345274016cb9
permissions -rw-r--r--
Moving all knockout related code under the 'ko' directory
jaroslav@1202
     1
package ${package};
jaroslav@1202
     2
jaroslav@1202
     3
import java.util.List;
jaroslav@1222
     4
import net.java.html.BrwsrCtx;
jaroslav@1222
     5
import net.java.html.json.Models;
jaroslav@1202
     6
import static org.testng.Assert.*;
jaroslav@1202
     7
import org.testng.annotations.BeforeMethod;
jaroslav@1202
     8
import org.testng.annotations.Test;
jaroslav@1202
     9
jaroslav@1202
    10
/** We can unit test the TwitterModel smoothly.
jaroslav@1202
    11
 */
jaroslav@1202
    12
public class TwitterClientTest {
jaroslav@1202
    13
    private TwitterModel model;
jaroslav@1202
    14
    
jaroslav@1202
    15
jaroslav@1202
    16
    @BeforeMethod
jaroslav@1202
    17
    public void initModel() {
jaroslav@1222
    18
        model = Models.bind(new TwitterModel(), BrwsrCtx.EMPTY);
jaroslav@1202
    19
    }
jaroslav@1202
    20
jaroslav@1202
    21
    @Test public void testIsValidToAdd() {
jaroslav@1202
    22
        model.setUserNameToAdd("Joe");
jaroslav@1222
    23
        Tweeters t = Models.bind(new Tweeters(), BrwsrCtx.EMPTY);
jaroslav@1202
    24
        t.setName("test");
jaroslav@1202
    25
        model.getSavedLists().add(t);
jaroslav@1202
    26
        model.setActiveTweetersName("test");
jaroslav@1202
    27
        
jaroslav@1202
    28
        assertTrue(model.isUserNameToAddIsValid(), "Joe is OK");
jaroslav@1202
    29
        TwitterClient.addUser(model);
jaroslav@1202
    30
        assertFalse(model.isUserNameToAddIsValid(), "Can't add Joe for the 2nd time");
jaroslav@1202
    31
        assertEquals(t.getUserNames().size(), 0, "Original tweeters list remains empty");
jaroslav@1202
    32
        
jaroslav@1202
    33
        List<String> mod = model.getActiveTweeters();
jaroslav@1202
    34
        assertTrue(model.isHasUnsavedChanges(), "We have modifications");
jaroslav@1202
    35
        assertEquals(mod.size(), 1, "One element in the list");
jaroslav@1202
    36
        assertEquals(mod.get(0), "Joe", "Its name is Joe");
jaroslav@1202
    37
        
jaroslav@1202
    38
        assertSame(model.getActiveTweeters(), mod, "Editing list is the modified one");
jaroslav@1202
    39
        
jaroslav@1202
    40
        TwitterClient.saveChanges(model);
jaroslav@1202
    41
        assertFalse(model.isHasUnsavedChanges(), "Does not have anything to save");
jaroslav@1202
    42
        
jaroslav@1202
    43
        assertSame(model.getActiveTweeters(), mod, "Still editing the old modified one");
jaroslav@1202
    44
    }
jaroslav@1202
    45
    
jaroslav@1202
    46
    @Test public void httpAtTheEnd() {
jaroslav@1202
    47
        String res = TwitterClient.Twt.html("Ahoj http://kuk");
jaroslav@1202
    48
        assertEquals(res, "Ahoj <a href='http://kuk'>http://kuk</a>");
jaroslav@1202
    49
    }
jaroslav@1202
    50
}