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