diff --git a/src/_cutecoin_test/models/account/test_account.py b/src/_cutecoin_test/models/account/test_account.py
index 88327b4a6a19948c7929073596ad1569b3d56887..aa3f06a6fd6d102bd04e34cd519dc50352fe8ad9 100644
--- a/src/_cutecoin_test/models/account/test_account.py
+++ b/src/_cutecoin_test/models/account/test_account.py
@@ -1,33 +1,266 @@
 import pytest
 import ucoinpy as ucoin
+import gnupg
+from mock import Mock
 from cutecoin.models.account import Account
+from cutecoin.models.account.communities import Communities
+from cutecoin.models.community import Community, CommunityNetwork
 
 
+user_keys = {
+    "0x31A6302161AC8F5938969E85399EB3415C237F93" : {
+     "keys": [
+        {
+          "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+          "key":
+          {
+            "email":"mistertest@testmail.com",
+            "comment":"",
+            "name":"Mister test",
+            "fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        }
+     ]
+     },
+    "0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
+    "keys": [
+        {
+          "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+          "key":
+          {
+            "email":"mistertest2@testmail.com",
+            "comment":"",
+            "name":"Mister test2",
+            "fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        }
+    ]
+    }
+}
+
+def patch_transactions_recipient_get(*arg, **kwargs):
+    return iter([{
+      "hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+      "value": {
+        "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+        "transaction":
+        {
+        "version": 1,
+        "currency": "beta_brousouf",
+        "sender": "31A6302161AC8F5938969E85399EB3415C237F93",
+        "number": 15,
+        "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+        "recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+        "type": "TRANSFER",
+        "coins": [
+          {
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          }
+        ],
+        "comment": "Too much coins ! Making big one."
+        }
+      }
+    }])
+
+
+def patch_transactions_sent_get(*arg, **kwargs):
+    return iter([{
+      "hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+      "value": {
+        "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+        "transaction":
+        {
+        "version": 1,
+        "currency": "beta_brousouf",
+        "sender": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+        "number": 15,
+        "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+        "recipient": "31A6302161AC8F5938969E85399EB3415C237F93",
+        "type": "TRANSFER",
+        "coins": [
+          {
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
+            "transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
+            "transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
+            "transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
+          }
+        ],
+        "comment": "Too much coins ! Making big one."
+        }
+      }
+    }])
+
+    
+def patch_transactions_view_get(*arg, **kwargs):
+    return {
+        "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+         "transaction":
+        {
+        "version": 1,
+        "currency": "beta_brousouf",
+        "sender": "31A6302161AC8F5938969E85399EB3415C237F93",
+        "number": 15,
+        "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+        "recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+        "type": "TRANSFER",
+        "coins": [
+          {
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          },{
+            "id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
+            "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+          }
+        ],
+        "comment": "Too much coins ! Making big one."
+        }
+    }
+    
+def patch_transactions_issuances_get(*arg, **kwargs):
+    return iter([{
+      "hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+      "value": {
+        "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+         "transaction":
+            {
+            "version": 1,
+            "currency": "beta_brousouf",
+            "sender": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "number": 1,
+            "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+            "recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "type": "ISSUANCE",
+            "coins": [
+            {
+                "id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-2-4-1-A-1",
+                "transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
+              },{
+                "id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-3-6-1-A-1",
+                "transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
+              }
+            ],
+            "comment": "Too much coins ! Making big one."
+            }
+        }
+    }
+    ])
+
+def mock_gpg():
+    def gpg_list_keys():
+        return [{
+        'keyid': u'25500A07',
+        'fingerprint': '2E69197FAB029D8669EF85E82457A1587CA0ED9C',
+        'uids': [u'Mister Test <mister_test@testmail.com>'],
+        'expires': u'',
+        'length': u'1024', 
+        'algo': u'17',
+        'date': u'1221156445',
+        'type': u'pub'
+        }]
+    
+    mock = Mock(spec=gnupg.GPG)
+    instance = mock.return_value
+    instance.list_keys = gpg_list_keys
+    return instance
+
+
+@pytest.fixture
+def mock_community():
+    def community_request(request, get_args={}):
+        if type(request) is ucoin.hdc.transactions.Recipient:
+            return patch_transactions_recipient_get()
+        elif type(request) is ucoin.hdc.transactions.sender.Last:
+            return patch_transactions_sent_get()
+        elif type(request) is ucoin.hdc.transactions.View:
+            return patch_transactions_view_get()
+        elif type(request) is ucoin.hdc.transactions.sender.Issuance:
+            return patch_transactions_issuances_get()
+        elif type(request) is ucoin.hdc.coins.List:
+            return {
+            "owner": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "coins": [{
+              "issuer": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+              "ids": ["1-5-2-A-1", "2-4-1-A-1"]
+            },
+            {
+              "issuer": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+              "ids": ["10-1-2-F-14"]
+            }]
+            }    
+        elif type(request) == ucoin.pks.Lookup:
+            return user_keys[ get_args['search'] ]
+        else:
+            assert 0
+
+    mock_network = Mock(spec=CommunityNetwork, request=community_request)
+    mock = Mock(spec=Community, network=mock_network, currency="test_currency")
+    return mock
+
+
+@pytest.fixture
+def mock_communities():
+    mock = Mock(spec=Communities, communities_list=[])
+    return mock
+
+    
 #TODO: Test account
 class Test_Account:
-    def test_account_create(self):
-        pass
+    def test_account_create1(self, mock_communities):
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert account is not None
+        
+    def test_account_create2(self, monkeypatch, mock_communities, mock_community):
+        monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
+        mock_communities.communities_list=[mock_community]
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert account is not None
 
     def test_account_load(self):
         pass
 
-    def test_account_add_wallet(self):
-        pass
-
     def test_account_add_contact(self):
         pass
 
-    def test_account_fingerprint(self):
-        pass
+    def test_account_fingerprint(self,  monkeypatch, mock_communities):
+        monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert account.fingerprint() == "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
 
-    def test_account_transactions_received(self):
-        pass
+    def test_account_transactions_received(self, monkeypatch, mock_community, mock_communities):
+        monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
+        mock_communities.communities_list=[mock_community]
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert len(account.transactions_received()) == 1
+        assert sum( trx.value() for trx in account.transactions_received()) == 200
 
-    def test_account_transactions_sent(self):
-        pass
+    def test_account_transactions_sent(self, monkeypatch, mock_community, mock_communities):
+        monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
+        mock_communities.communities_list=[mock_community]
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert len(account.transactions_sent()) == 1
+        assert sum( trx.value() for trx in account.transactions_sent()) == 200
 
-    def test_account_last_issuances(self):
-        pass
+    def test_account_last_issuances(self, monkeypatch, mock_community, mock_communities):
+        monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
+        mock_communities.communities_list=[mock_community]
+        account = Account.create("25500A07", "TestUser", mock_communities)
+        assert len(account.last_issuances(mock_community)) == 1
 
     def test_account_issued_last_dividend(self):
         pass
@@ -44,5 +277,3 @@ class Test_Account:
     def test_account_pull_tht(self):
         pass
 
-    def test_account_quality(self):
-        pass
diff --git a/src/_cutecoin_test/models/account/test_communities.py b/src/_cutecoin_test/models/account/test_communities.py
index dbde89db18d0a40b61babdbb61dd787b06cf3ce3..eedf10425d303d77fc76596505848b11aa666998 100644
--- a/src/_cutecoin_test/models/account/test_communities.py
+++ b/src/_cutecoin_test/models/account/test_communities.py
@@ -5,9 +5,6 @@ from cutecoin.models.account.communities import Communities
 
 #TODO: Test communities
 class Test_Communities:
-    def test_communities_add_community(self):
-        pass
-
     def test_communities_jsonify(self):
         pass
 
diff --git a/src/_cutecoin_test/models/account/test_wallets.py b/src/_cutecoin_test/models/account/test_wallets.py
index ce8ac5aa91bedfd3757e2a20290bbf90ec14dba3..a3435296e15889e369c204d7900dc6825ddd3cc1 100644
--- a/src/_cutecoin_test/models/account/test_wallets.py
+++ b/src/_cutecoin_test/models/account/test_wallets.py
@@ -1,19 +1,75 @@
 import pytest
 import ucoinpy as ucoin
-from mock import Mock
+from mock import Mock, MagicMock
+from cutecoin.models.wallet import Wallet
 from cutecoin.models.account.wallets import Wallets
+from cutecoin.models.community import Community, CommunityNetwork
 
 
+
+def mock_community():
+    def community_request(request):
+        if type(request) is ucoin.hdc.coins.List:
+            return {
+            "owner": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
+            "coins": [{
+              "issuer": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
+              "ids": ["1-5-2-A-1", "2-4-1-A-1"]
+            },
+            {
+              "issuer": "31A6302161AC8F5938969E85399EB3415C237F93",
+              "ids": ["10-1-2-F-14"]
+            }]
+            }
+        else:
+                assert 0
+                
+    mock_network = Mock(spec=CommunityNetwork, request=community_request)
+    community = MagicMock(spec=Community, network=mock_network)
+
+    return community
+    
+    
+def mock_wallet():
+    def wallet_eq(mock1, mock2):
+        return mock1.community == mock2.community
+    mock_wallet = MagicMock(spec=Wallet, __eq__=wallet_eq)
+    
+    
 #TODO: Test wallets
 class Test_Wallets:
     def test_wallets_add_wallet(self):
-        pass
+        wallets = Wallets()
+        wallet = wallets.add_wallet(mock_community())
+        assert wallet is not None
 
     def test_wallets_get_wallet(self):
-        pass
+        mock1 = mock_community()
+        mock2 = mock_community()
+        mock3 = mock_community()
+        mock_wallet1 = Mock(spec=Wallet, community=mock1)
+        mock_wallet2 = Mock(spec=Wallet, community=mock2)
+        mock_wallet3 = Mock(spec=Wallet, community=mock3)
+        wallets = Wallets()
+        wallets.wallets_list.append(mock_wallet1)
+        wallets.wallets_list.append(mock_wallet2)
+        
+        assert wallets.get_wallet(mock_wallet1) is not None
+        assert wallets.get_wallet(mock_wallet2) is not None
+        assert wallets.get_wallet(mock_wallet3) is None
 
     def test_wallets_remove_all_wallets_of(self):
-        pass
+        mock1 = mock_community()
+        mock2 = mock_community()
+        mock_wallet1 = Mock(spec=Wallet, community=mock1)
+        mock_wallet2 = Mock(spec=Wallet, community=mock2)
+        wallets = Wallets()
+        wallets.wallets_list.append(mock_wallet1)
+        wallets.wallets_list.append(mock_wallet2)
+        
+        wallets.remove_all_wallets_of(mock1)
+        assert wallets.get_wallet(mock_wallet1) is None
+        assert wallets.get_wallet(mock_wallet2) is not None
 
     def test_wallets_jsonify(self):
         pass
diff --git a/src/_cutecoin_test/models/test_community.py b/src/_cutecoin_test/models/test_community.py
index ccdd069a31cab8e8403a5cd8fe71718d6d4331ba..d5d6a589aa358bafbf5b9a121e2a102504c04775 100644
--- a/src/_cutecoin_test/models/test_community.py
+++ b/src/_cutecoin_test/models/test_community.py
@@ -5,6 +5,9 @@ from cutecoin.models.community import Community
 from cutecoin.models.community import Node
 
 
+
+amendment_hash =  "3682F828EFB1A1AFF45ACC6DDBB2BAD100DCD605"
+
 def patch_amendment_current_get(*args, **kwargs):
     return {
     "version": "1",
@@ -23,9 +26,23 @@ def patch_amendment_current_get(*args, **kwargs):
     "membersChanges": [
     "+31A6302161AC8F5938969E85399EB3415C237F93"
     ],
-    "raw": "Version: 1\r\n...+31A6302161AC8F5938969E85399EB3415C237F93\r\n"
+    "raw": """Version: 1
+Currency: beta_brousouf
+Number: 2
+Dividend: 100
+CoinMinimalPower: 0
+PreviousHash: 0F45DFDA214005250D4D2CBE4C7B91E60227B0E5
+MembersRoot: F92B6F81C85200250EE51783F5F9F6ACA57A9AFF
+MembersCount: 4
+MembersChanges:
++31A6302161AC8F5938969E85399EB3415C237F93
+VotersRoot: DC7A9229DFDABFB9769789B7BFAE08048BCB856F
+VotersCount: 2
+VotersChanges:
+-C73882B64B7E72237A2F460CE9CAB76D19A8651E
+"""
     }
-
+	
 
 def patch_amendments_members_get(*args, **kwargs):
     return iter([{
@@ -60,7 +77,7 @@ def mock_node():
 
     mock = Mock(spec=Node, trust=True, hoster=True,
                 server="192.168.100.10", port=3800)
-    mock.getText.return_value = "Mock node"
+    mock.get_text.return_value = "Mock node"
     mock.use = node_use
     return mock
 
@@ -84,8 +101,11 @@ class Test_Community():
         community = Community.create(mock_node)
         assert community.coin_minimal_power() == 0
 
-    def test_community_amendment_id(self, monkeypatch):
-        pass
+    def test_community_amendment_id(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current,
+                            '__get__', patch_amendment_current_get)
+        community = Community.create(mock_node)
+        assert community.amendment_id() == "2-"+amendment_hash.upper()
 
     def test_community_amendment_number(self, monkeypatch, mock_node):
         monkeypatch.setattr(ucoin.hdc.amendments.Current,
diff --git a/src/_cutecoin_test/models/test_node.py b/src/_cutecoin_test/models/test_node.py
index bd232b53953c16b08e4b7e1c5999e007c39ba6fd..0e6538a08f5ce3066f4d001ad812eba1555d3d9c 100644
--- a/src/_cutecoin_test/models/test_node.py
+++ b/src/_cutecoin_test/models/test_node.py
@@ -58,5 +58,5 @@ class Test_Node():
         assert peering["port"] == str(3800)
 
     #TODO: Test node json
-    def test_node_jsonify(self, monkeypatch):
+    def test_node_jsonify(self):
         pass
diff --git a/src/_cutecoin_test/models/test_person.py b/src/_cutecoin_test/models/test_person.py
index 4c285cd553cd06f6d7bfa616182d567bd81a4cd0..f329ef38fe024dd6c6903ac5096b12ed7e1e3843 100644
--- a/src/_cutecoin_test/models/test_person.py
+++ b/src/_cutecoin_test/models/test_person.py
@@ -1,43 +1,59 @@
 import pytest
 import ucoinpy as ucoin
-from mock import Mock
+from mock import Mock, MagicMock
 from cutecoin.models.person import Person
-from cutecoin.models.community import Community
+from cutecoin.models.community import Community, CommunityNetwork
 
 
-@pytest.fixture
-def mock_lookup_get():
-        mock_get = Mock(spec=ucoin.pks.Lookup.__get__)
-        mock_get.return_value = [
+user_keys = {
+    "0x31A6302161AC8F5938969E85399EB3415C237F93" : {
+     "keys": [
         {
           "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
           "key":
           {
-            "email":"misterk@supermail.com",
-            "comment":"udid2;c;CAT;LOL;2000-04-19;e+43.70-079.42;0;",
-            "name":"LoL Cat",
-            "fingerprint":"C73882B64B7E72237A2F460CE9CAB76D19A8651E",
+            "email":"mistertest@testmail.com",
+            "comment":"",
+            "name":"Mister test",
+            "fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
             "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
           }
-        },
+        }
+     ]
+     },
+    "0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
+    "keys": [
         {
           "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
           "key":
           {
-            "email":"mistery@undermail.com",
-            "comment":"udid2;c;CAT;LOL;2000-04-19;e+43.70-079.42;0;",
-            "name":"LoL Cat",
-            "fingerprint":"C73882B64B7E72237A2F460CE9CAB76D19A8651E",
+            "email":"mistertest2@testmail.com",
+            "comment":"",
+            "name":"Mister test2",
+            "fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
             "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
           }
-        }]
-        return mock_get
+        }
+    ]
+    }
+}
 
+@pytest.fixture
+def mock_community():
+    def community_request(request, get_args={}):
+        return user_keys[ get_args['search'] ]
+    mock_network = Mock(spec=CommunityNetwork, request=community_request)
+    community = MagicMock(spec=Community, network=mock_network)
 
+    return community
+    
 #TODO: Lookup for person after community was tested
 class Test_Person():
-    def test_person_lookup(self, monkeypatch):
-        pass
+    def test_person_lookup(self, monkeypatch, mock_community):
+        person = Person.lookup("2E69197FAB029D8669EF85E82457A1587CA0ED9C", mock_community)
+        assert person.name == "Mister test2"
+        assert person.fingerprint == "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
+        assert person.email == "mistertest2@testmail.com"
 
     def test_person_jsonify(self):
         pass
diff --git a/src/_cutecoin_test/models/test_transaction.py b/src/_cutecoin_test/models/test_transaction.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..bdb83aeeeed4384643cc3bb7128c4ad2cbd9458a 100644
--- a/src/_cutecoin_test/models/test_transaction.py
+++ b/src/_cutecoin_test/models/test_transaction.py
@@ -0,0 +1,139 @@
+import pytest
+import re
+import ucoinpy as ucoin
+from mock import Mock, MagicMock
+from cutecoin.models.transaction import Transaction, Transfer, Issuance
+from cutecoin.models.transaction import factory
+from cutecoin.models.community import Community, CommunityNetwork
+
+
+
+user_keys = {
+    "0x31A6302161AC8F5938969E85399EB3415C237F93" : {
+      "keys": [
+        {
+          "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+          "key":
+          {
+            "email":"mistertest@testmail.com",
+            "comment":"",
+            "name":"Mister test",
+            "fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        }
+      ]
+     },
+    "0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
+    "keys": [
+        {
+          "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+          "key":
+          {
+            "email":"mistertest2@testmail.com",
+            "comment":"",
+            "name":"Mister test2",
+            "fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        }
+     ]
+    }
+}
+
+def community_request_issuance(request, get_args={}):
+    if type(request) == ucoin.hdc.transactions.View:
+        return {
+          "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+          "raw": "Version: 1\r\n...\r\n",
+          "transaction":
+          {
+            "version": 1,
+            "currency": "beta_brousouf",
+            "sender": "31A6302161AC8F5938969E85399EB3415C237F93",
+            "number": 1,
+            "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+            "recipient": "31A6302161AC8F5938969E85399EB3415C237F93",
+            "type": "ISSUANCE",
+            "coins": [
+             {
+                "id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
+                "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+              },{
+                "id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
+                "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+              }
+            ],
+            "comment": "Too much coins ! Making big one."
+          }
+        }
+    elif type(request) == ucoin.pks.Lookup:
+        return user_keys[ get_args['search'] ]
+    else:
+        assert 0
+        
+        
+def community_request_transfer(request, get_args={}):
+    if type(request) == ucoin.hdc.transactions.View:
+        return {
+            "signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
+            "raw": "Version: 1\r\n...\r\n",
+            "transaction":
+            {
+            "version": 1,
+            "currency": "beta_brousouf",
+            "sender": "31A6302161AC8F5938969E85399EB3415C237F93",
+            "number": 15,
+            "previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
+            "recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+            "type": "TRANSFER",
+            "coins": [
+              {
+                "id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
+                "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+              },{
+                "id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
+                "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+              },{
+                "id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
+                "transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
+              }
+            ],
+            "comment": "Too much coins ! Making big one."
+            }
+        }
+    elif type(request) == ucoin.pks.Lookup:
+        return user_keys[ get_args['search'] ]
+    else:
+        assert 0
+
+
+def mock_community(community_request):
+    mock_network = Mock(spec=CommunityNetwork, request=community_request)
+    community = MagicMock(spec=Community, network=mock_network)
+
+    return community
+    
+
+class Test_Transaction:
+    def test_create_transaction_issuance(self):
+        community = mock_community( community_request_issuance )
+        trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
+        assert trx is not None
+        assert type(trx) is Issuance
+        
+    def test_create_transaction_transfer(self):
+        community = mock_community( community_request_transfer )
+        trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 15, community)
+        assert trx is not None
+        assert type(trx) is Transfer
+        
+    def test_transaction_value(self):
+        community = mock_community( community_request_issuance )
+        trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
+        assert trx.value() == 100
+        
+    def test_transaction_currency(self):
+        community = mock_community( community_request_issuance )
+        trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
+        assert trx.currency() == "beta_brousouf"
diff --git a/src/_cutecoin_test/models/test_wallet.py b/src/_cutecoin_test/models/test_wallet.py
index e61e32a5442a15956e58fd2545225260235b95b2..2c4e45737f0329a7fdb3b38b9dd295dc6543cfe0 100644
--- a/src/_cutecoin_test/models/test_wallet.py
+++ b/src/_cutecoin_test/models/test_wallet.py
@@ -1,11 +1,10 @@
 import pytest
 import ucoinpy as ucoin
-from mock import Mock, patch
+from mock import Mock, MagicMock, patch
 from cutecoin.models.wallet import Wallet
 from cutecoin.models.community import Community, CommunityNetwork
 
 
-@pytest.fixture
 def mock_community():
     def community_request(request):
         if type(request) is ucoin.hdc.coins.List:
@@ -22,23 +21,27 @@ def mock_community():
             }
         else:
                 assert 0
+            
+    def community_eq(mock1, mock2):
+            return mock1.amendment_id() == mock2.amendment_id()
+                
     mock_network = Mock(spec=CommunityNetwork, request=community_request)
-    community = Mock(spec=Community, network=mock_network)
+    community = MagicMock(spec=Community, network=mock_network, __eq__=community_eq)
 
     return community
 
 
 class Test_Wallet:
-    def test_wallet_create(self, mock_community):
-        wallet = Wallet([], mock_community)
+    def test_wallet_create(self,):
+        wallet = Wallet([], mock_community())
         assert wallet is not None
 
     #TODO: Test json
     def test_wallet_load(self):
         pass
 
-    def test_wallet_value(self, mock_community):
-        wallet = Wallet([], mock_community)
+    def test_wallet_value(self):
+        wallet = Wallet([], mock_community())
         assert wallet.value() == 0
         wallet.refresh_coins("86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8")
         assert wallet.value() == 640
@@ -46,6 +49,27 @@ class Test_Wallet:
 
     def test_wallet_get_text(self):
         pass
+        
+    def test_eq(self):
+        mock1 = mock_community()
+        mock1.amendment_id.return_value = "2-AMENDMENTTEST"
+        mock2 = mock_community()
+        mock2.amendment_id.return_value =  "2-AMENDMENTTEST"
+        wallet1 = Wallet([], mock1)
+        wallet2 = Wallet([], mock2)
+
+        assert wallet1 == wallet2
+        
+    def test_not_eq(self):
+        mock1 = mock_community()
+        mock1.amendment_id.return_value = "2-AMENDMENTTEST"
+        mock2 = mock_community()
+        mock2.amendment_id.return_value =  "1-AMENDMENTTEST"
+        wallet1 = Wallet([], mock1)
+        wallet2 = Wallet([], mock2)
+
+        assert wallet1 != wallet2
+        
 
     def test_wallet_jsonify(self):
         pass
diff --git a/src/cutecoin/models/account/__init__.py b/src/cutecoin/models/account/__init__.py
index 07dc6eb58f29ea7ebf50d16cb34fa43929f0c1f7..9228e18efc2b9b3fea9657222b3408970f9f96e0 100644
--- a/src/cutecoin/models/account/__init__.py
+++ b/src/cutecoin/models/account/__init__.py
@@ -42,8 +42,8 @@ class Account(object):
         wallets = Wallets()
         account = cls(keyid, name, communities, wallets, [])
         for community in account.communities.communities_list:
-            wallet = account.wallets.add_wallet(community.currency)
-            wallet.refresh_coins(community, account.fingerprint())
+            wallet = account.wallets.add_wallet(community)
+            wallet.refresh_coins(account.fingerprint())
         return account
 
     @classmethod
@@ -73,9 +73,6 @@ class Account(object):
         else:
             return False
 
-    def add_wallet(self, name, currency):
-        self.wallets.add_wallet(name, currency)
-
     def add_contact(self, person):
         self.contacts.append(person)
 
@@ -95,11 +92,11 @@ class Account(object):
             transactions_data = community.network.request(
                 ucoin.hdc.transactions.Recipient(
                     self.fingerprint()))
-            for trxData in transactions_data:
+            for trx_data in transactions_data:
                 received.append(
                     factory.create_transaction(
-                        trxData['value']['transaction']['sender'],
-                        trxData['value']['transaction']['number'],
+                        trx_data['value']['transaction']['sender'],
+                        trx_data['value']['transaction']['number'],
                         community))
         return received
 
@@ -115,8 +112,8 @@ class Account(object):
                 if not isinstance(trx_data, str):
                     sent.append(
                         factory.create_transaction(
-                            trxData['value']['transaction']['sender'],
-                            trxData['value']['transaction']['number'],
+                            trx_data['value']['transaction']['sender'],
+                            trx_data['value']['transaction']['number'],
                             community))
         return sent
 
diff --git a/src/cutecoin/models/account/wallets/__init__.py b/src/cutecoin/models/account/wallets/__init__.py
index a544f23d87fb5280467986596b9b345d64ddf25e..f6804f781966acb41d6ade61e017d16fcfeb0b1f 100644
--- a/src/cutecoin/models/account/wallets/__init__.py
+++ b/src/cutecoin/models/account/wallets/__init__.py
@@ -19,15 +19,16 @@ class Wallets(object):
         '''
         self.wallets_list = []
 
-    def add_wallet(self, currency):
+    def add_wallet(self, community):
         '''
         Create a new wallet of a specific currency.
         This wallet must not already be present in the account,
         it means the wallet must have a different name or a different currency.
         '''
-        wallet = Wallet.create(currency)
+        wallet = Wallet.create(community)
         if wallet not in self.wallets_list:
             self.wallets_list.append(wallet)
+            return wallet
         else:
             return self.wallets_list.get(wallet)
 
@@ -35,7 +36,7 @@ class Wallets(object):
         '''
         Look for a wallet in the wallets list.
         '''
-        for w in self.walletsLists:
+        for w in self.wallets_list:
             if w == wallet:
                 return w
         return None
diff --git a/src/cutecoin/models/community/__init__.py b/src/cutecoin/models/community/__init__.py
index 875329cdc88eee817e7b908e32157dbd45d60b54..ed9a30c362908c23c5c9478d65cd7cf7b22ec525 100644
--- a/src/cutecoin/models/community/__init__.py
+++ b/src/cutecoin/models/community/__init__.py
@@ -26,9 +26,6 @@ class Community(object):
         An account is a member of a community if he is a member of the current amendment.
         '''
         self.network = network
-        print(self.network)
-        print(self.network.request)
-        print(self.network.request(ucoin.hdc.amendments.Current()))
         current_amendment = self.network.request(ucoin.hdc.amendments.Current())
         self.currency = current_amendment['currency']
 
diff --git a/src/cutecoin/models/community/network.py b/src/cutecoin/models/community/network.py
index 697e94a88a0bbfbe137dd05959d41b3357bfd135..e8425b969528a0e56df44706596faca92204a576 100644
--- a/src/cutecoin/models/community/network.py
+++ b/src/cutecoin/models/community/network.py
@@ -21,14 +21,14 @@ class CommunityNetwork(object):
 
     def request(self, request, get_args={}):
         for node in self.trusts():
-            logging.debug("Trying to connect to : " + node.getText())
+            logging.debug("Trying to connect to : " + node.get_text())
             node.use(request)
             return request.get(**get_args)
         raise RuntimeError("Cannot connect to any node")
 
     def post(self, request, get_args={}):
         for node in self.hosters():
-            logging.debug("Trying to connect to : " + node.getText())
+            logging.debug("Trying to connect to : " + node.get_text())
             node.use(request)
             return request.post(**get_args)
         raise RuntimeError("Cannot connect to any node")
diff --git a/src/cutecoin/models/node/__init__.py b/src/cutecoin/models/node/__init__.py
index 505d2f64bdc7d0dd81670106f036bdad42b0a2ba..fdac61d8dd5390d16c0887717439614e3193da7b 100644
--- a/src/cutecoin/models/node/__init__.py
+++ b/src/cutecoin/models/node/__init__.py
@@ -25,7 +25,7 @@ class Node(object):
     def __eq__(self, other):
         return (self.server == other.server and self.port == other.port)
 
-    def getText(self):
+    def get_text(self):
         return self.server + ":" + str(self.port)
 
     '''
diff --git a/src/cutecoin/models/transaction/__init__.py b/src/cutecoin/models/transaction/__init__.py
index 47dd790e8a1f6d0c8b84ce410f9b75fa632d37bb..43f173d0c1c59a45803b014ea916d9a6724f47a4 100644
--- a/src/cutecoin/models/transaction/__init__.py
+++ b/src/cutecoin/models/transaction/__init__.py
@@ -35,7 +35,7 @@ class Transaction(object):
         currency = trx_data['transaction']['currency']
         return currency
 
-    def transactionID(self):
+    def transaction_id(self):
         return self.sender_fingerprint + "-" + self.increment
 
 
@@ -48,7 +48,7 @@ class Transfer(Transaction):
     def __init__(self):
         super(Transfer).__init__()
 
-    def getText(self):
+    def get_text(self):
         return str(self.value()) + " " + self.currency() + \
             " from " + self.sender.name
 
@@ -62,9 +62,9 @@ class Issuance(Transaction):
     def __init__(self):
         super(Issuance).__init__()
 
-    def amendmentNumber(self):
+    def amendment_number(self):
         self.community.network.request(
             ucoin.hdc.transactions.View(self.sender.fingerprint + "-" + str(self.increment)))
 
-    def getText(self):
+    def get_text(self):
         return str(self.value()) + " " + self.currency()
diff --git a/src/cutecoin/models/wallet/__init__.py b/src/cutecoin/models/wallet/__init__.py
index 45b4af45c9e5bdcbf890665ac83d1bbcce512f7b..20da778f787bf0421a66efd41b5ecb19e667b629 100644
--- a/src/cutecoin/models/wallet/__init__.py
+++ b/src/cutecoin/models/wallet/__init__.py
@@ -48,9 +48,9 @@ class Wallet(object):
     def refresh_coins(self, fingerprint):
         data_list = self.community.network.request(
             ucoin.hdc.coins.List({'pgp_fingerprint': fingerprint}))
-        for issaunces in data_list['coins']:
-            issuer = issaunces['issuer']
-            for coins_ids in issaunces['ids']:
+        for issuances in data_list['coins']:
+            issuer = issuances['issuer']
+            for coins_ids in issuances['ids']:
                 shortened_id = coins_ids
                 coin = Coin.from_id(issuer + "-" + shortened_id)
                 self.coins.append(coin)