diff --git a/src/_cutecoin_test/models/test_coin.py b/src/_cutecoin_test/models/test_coin.py
index b7340891e9b3f186c53e71f85193f8efe6a553b0..5c33f8dac4b3d0323c3466cbaaa1e89e10be9d86 100644
--- a/src/_cutecoin_test/models/test_coin.py
+++ b/src/_cutecoin_test/models/test_coin.py
@@ -12,23 +12,23 @@ origin = "A-2"
 
 @pytest.fixture
 def coin_id_regex():
-	return re.compile("^([A-Z\d]{40})-(\d+)-(\d)-(\d+)-((A|F|D)-\d+)$")
+    return re.compile("^([A-Z\d]{40})-(\d+)-(\d)-(\d+)-((A|F|D)-\d+)$")
 
 @pytest.mark.order1
 class Test_Coin:
 
-	def test_coin_init(self, coin_id_regex):
-		coin = Coin(issuer, number, base, power, origin)
-		assert coin_id_regex.match(coin.get_id()) is not None
+    def test_coin_init(self, coin_id_regex):
+        coin = Coin(issuer, number, base, power, origin)
+        assert coin_id_regex.match(coin.get_id()) is not None
 
 
-	def test_coin_from_id(self, coin_id_regex):
-		coin_id = issuer + "-" + number + "-" + base + "-" + power + "-" + origin
-		coin = Coin.from_id(coin_id)
-		assert coin is not None
-		assert coin_id_regex.match(coin.get_id()) is not None
+    def test_coin_from_id(self, coin_id_regex):
+        coin_id = issuer + "-" + number + "-" + base + "-" + power + "-" + origin
+        coin = Coin.from_id(coin_id)
+        assert coin is not None
+        assert coin_id_regex.match(coin.get_id()) is not None
 
 
-	def test_coin_value(self):
-		coin = Coin(issuer, number, base, power, origin)
-		assert coin.value() == 300
\ No newline at end of file
+    def test_coin_value(self):
+        coin = Coin(issuer, number, base, power, origin)
+        assert coin.value() == 300
\ No newline at end of file
diff --git a/src/_cutecoin_test/models/test_community.py b/src/_cutecoin_test/models/test_community.py
index 31286c314cef0ec5ce07e8b689ef554b858ec589..505bfaf47473d4f73e4348017cceff8920a55448 100644
--- a/src/_cutecoin_test/models/test_community.py
+++ b/src/_cutecoin_test/models/test_community.py
@@ -5,96 +5,132 @@ from cutecoin.models.community import Community
 from cutecoin.models.community import Node
 
 
-@pytest.fixture
-def mock_amendment_current_get():
-	mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
-	mock_get.return_value = {
-	"version": "1",
-	"currency": "beta_brousouf",
-	"number": "2",
-	"previousHash": "0F45DFDA214005250D4D2CBE4C7B91E60227B0E5",
-	"dividend": "100",
-	"coinMinimalPower": "0",
-	"votersRoot": "DC7A9229DFDABFB9769789B7BFAE08048BCB856F",
-	"votersCount": "2",
-	"votersChanges": [
-	"-C73882B64B7E72237A2F460CE9CAB76D19A8651E"
-	],
-	"membersRoot": "F92B6F81C85200250EE51783F5F9F6ACA57A9AFF",
-	"membersCount": "4",
-	"membersChanges": [
-	"+31A6302161AC8F5938969E85399EB3415C237F93"
-	],
-	"raw": "Version: 1\r\n...+31A6302161AC8F5938969E85399EB3415C237F93\r\n"
-	}
-	return mock_get
-
 
+def patch_amendment_current_get(*args, **kwargs):
+    return {
+    "version": "1",
+    "currency": "beta_brousouf",
+    "number": "2",
+    "previousHash": "0F45DFDA214005250D4D2CBE4C7B91E60227B0E5",
+    "dividend": "100",
+    "coinMinimalPower": "0",
+    "votersRoot": "DC7A9229DFDABFB9769789B7BFAE08048BCB856F",
+    "votersCount": "2",
+    "votersChanges": [
+    "-C73882B64B7E72237A2F460CE9CAB76D19A8651E"
+    ],
+    "membersRoot": "F92B6F81C85200250EE51783F5F9F6ACA57A9AFF",
+    "membersCount": "4",
+    "membersChanges": [
+    "+31A6302161AC8F5938969E85399EB3415C237F93"
+    ],
+    "raw": "Version: 1\r\n...+31A6302161AC8F5938969E85399EB3415C237F93\r\n"
+    }
+
+
+
+def patch_amendments_members_get(*args, **kwargs):
+    return iter([{
+    "hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+    "value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
+    },
+    {
+    "hash": "3F870197FAB029D8669EF85E82457A1587CA0ED9C",
+    "value": "3F870197FAB029D8669EF85E82457A1587CA0ED9C"
+    },
+    {
+    "hash": "3F69197FAB029D8669EF85E82457A1587CA0ED9C",
+    "value": "3F69197FAB029D8669EF85E82457A1587CA0ED9C"
+    }])
+
+    
+
+def patch_amendments_voters_get(*args, **kwargs):
+    return iter([{
+    "hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
+    "value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
+    },
+    {
+    "hash": "3F870197FAB029D8669EF85E82457A1587CA0ED9C",
+    "value": "3F870197FAB029D8669EF85E82457A1587CA0ED9C"
+    }])
+
+    
 @pytest.fixture
-def mock_amendments_members_get():
-	mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
-	mock_get.return_value = [{
-	"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
-	"value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
-	},
-	{
-	"hash": "3F69197FAB029D8669EF85E82457A1587CA0ED9C",
-	"value": "3F69197FAB029D8669EF85E82457A1587CA0ED9C"
-	}]
-	return mock_get
-
-	
-@pytest.fixture
-def mock_amendments_voters_get():
-	mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
-	mock_get.return_value = [{
-	"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
-	"value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
-	},
-	{
-	"hash": "3F69197FAB029D8669EF85E82457A1587CA0ED9C",
-	"value": "3F69197FAB029D8669EF85E82457A1587CA0ED9C"
-	}]
-	return mock_get
-	
-	
+def mock_node():
+    def node_use(request):
+        return request
+      
+    mock = Mock(spec=Node, trust=True, hoster=True, server = "192.168.100.10", port = 3800)
+    mock.getText.return_value = "Mock node"
+    mock.use = node_use
+    return mock
+    
 
 class Test_Community():
-	def test_community_create(self, monkeypatch, mock_amendment_current_get):
-			pass
-
-
-	def test_community_dividend(self, monkeypatch):
-		pass
-
-
-	def test_community_coin_minimal_power(self, monkeypatch):
-		pass
-
-
-	def test_community_amendment_id(self, monkeypatch):
-		pass
-
-
-	def test_community_amendment_number(self, monkeypatch):
-		pass
-
-
-	def test_community_person_quality(self, monkeypatch):
-		pass
-
-
-	def test_community_members_fingerprint(self, monkeypatch):
-		pass
-
-
-	def test_community_voters_fingerprint(self, monkeypatch):
-		pass
-
-
-	def test_community_to_json(self):
-		pass
-
-
-	def test_community_from_json(self):
-		pass
+    def test_community_create(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        community = Community.create(mock_node)
+        assert community is not None
+        
+
+    def test_community_dividend(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        community = Community.create(mock_node)
+        assert community.dividend() == 100
+
+    def test_community_coin_minimal_power(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        community = Community.create(mock_node)
+        assert community.coin_minimal_power() == 0
+
+
+    def test_community_amendment_id(self, monkeypatch):
+        pass
+
+
+    def test_community_amendment_number(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        community = Community.create(mock_node)
+        assert community.amendment_number() == 2
+
+
+    def test_community_person_quality(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Members, '__get__', patch_amendments_members_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Voters, '__get__', patch_amendments_voters_get)
+        community = Community.create(mock_node)
+        assert community.person_quality("2E69197FAB029D8669EF85E82457A1587CA0ED9C") == "voter"
+        assert community.person_quality("3F69197FAB029D8669EF85E82457A1587CA0ED9C") == "member"
+        assert community.person_quality("3F870197FAB029D8669EF85E82457A1587CA0ED9C") == "voter"
+        assert community.person_quality("3F871197FAB029D8669EF85E82457A1587CA0ED9C") == "nothing"
+
+
+    def test_community_members_fingerprint(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Members, '__get__', patch_amendments_members_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Voters, '__get__', patch_amendments_voters_get)
+        community = Community.create(mock_node)
+        
+        assert "2E69197FAB029D8669EF85E82457A1587CA0ED9C" in community.members_fingerprints()
+        assert "3F69197FAB029D8669EF85E82457A1587CA0ED9C" in community.members_fingerprints()
+        assert "3F870197FAB029D8669EF85E82457A1587CA0ED9C" in community.members_fingerprints()
+        assert "3F871197FAB029D8669EF85E82457A1587CA0ED9C"  not in community.members_fingerprints()
+
+    def test_community_voters_fingerprint(self, monkeypatch, mock_node):
+        monkeypatch.setattr(ucoin.hdc.amendments.Current, '__get__', patch_amendment_current_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Members, '__get__', patch_amendments_members_get)
+        monkeypatch.setattr(ucoin.hdc.amendments.view.Voters, '__get__', patch_amendments_voters_get)
+        community = Community.create(mock_node)
+        
+        assert "2E69197FAB029D8669EF85E82457A1587CA0ED9C" in community.voters_fingerprints()
+        assert "3F870197FAB029D8669EF85E82457A1587CA0ED9C" in community.voters_fingerprints()
+        assert "3F871197FAB029D8669EF85E82457A1587CA0ED9C" not in community.voters_fingerprints()
+
+        
+    def test_community_to_json(self):
+        pass
+
+
+    def test_community_from_json(self):
+        pass
diff --git a/src/_cutecoin_test/models/test_node.py b/src/_cutecoin_test/models/test_node.py
index 8db527f4ed140d84782e785889f3a1d1882317d2..719bd4fa0b6c92843ee34681e791b90b56c3a0a4 100644
--- a/src/_cutecoin_test/models/test_node.py
+++ b/src/_cutecoin_test/models/test_node.py
@@ -3,10 +3,9 @@ import ucoinpy as ucoin
 from mock import Mock
 from cutecoin.models.node import Node
 
-@pytest.fixture
-def mock_peers_get():
-	mock_get = Mock(spec=ucoin.ucg.peering.Peers.__get__)
-	mock_get.return_value = [{
+
+def patch_peers_get(*args, **kwargs):
+	return iter([{
 	"version": "1",
 	"currency": "beta_brousouf",
 	"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
@@ -25,14 +24,12 @@ def mock_peers_get():
 	"ipv6": "",
 	"port": "3801",
 	"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"	
-	}]
-	return mock_get
+	}])
 	
 
-@pytest.fixture
-def mock_peer_get():
-	mock_get = Mock(spec=ucoin.ucg.peering.Peer.__get__)
-	mock_get.return_value = {
+
+def patch_peer_get(*args, **kwargs):
+	return {
 	"version": "1",
 	"currency": "beta_brousouf",
 	"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
@@ -42,21 +39,20 @@ def mock_peer_get():
 	"port": "3800",
 	"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
 	}
-	return mock_get
 	
 class Test_Node():
-	def test_peers(self, monkeypatch, mock_peers_get):
+	def test_peers(self, monkeypatch):
 
-		monkeypatch.setattr(ucoin.ucg.peering.Peers, '__get__', mock_peers_get)
+		monkeypatch.setattr(ucoin.ucg.peering.Peers, '__get__', patch_peers_get)
 
 		node = Node("192.168.100.12", 3800)
-		peers = node.peers()
-		assert peers[0]["ipv4"] == "192.168.100.10"
-		assert peers[1]["ipv4"] == "192.168.100.11"
+		
+		assert (peer for peer in node.peers() if peer["ipv4"] == "192.168.100.10") 
+		assert (peer for peer in node.peers() if peer["ipv4"] == "192.168.100.11") 
 
 
-	def test_peering(self, monkeypatch, mock_peer_get):
-		monkeypatch.setattr(ucoin.ucg.peering.Peer, '__get__', mock_peer_get)
+	def test_peering(self, monkeypatch):
+		monkeypatch.setattr(ucoin.ucg.peering.Peer, '__get__', patch_peer_get)
 
 		node = Node("192.168.100.12", 3800)
 		peering = node.peering()
diff --git a/src/_cutecoin_test/models/test_person.py b/src/_cutecoin_test/models/test_person.py
index 2d76715c8e14dcd5529c57693b137f59294d63b0..8924d9be8975bef32de4e3941396c9e50d9ad09c 100644
--- a/src/_cutecoin_test/models/test_person.py
+++ b/src/_cutecoin_test/models/test_person.py
@@ -7,41 +7,41 @@ from cutecoin.models.community import Community
 
 @pytest.fixture
 def mock_lookup_get():
-		mock_get = Mock(spec = ucoin.pks.Lookup.__get__)
-		mock_get.return_value = [
-		{
-		  "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",
-			"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
-		  }
-		},
-		{
-		  "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",
-			"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
-		  }
-		}]
-		return mock_get
+        mock_get = Mock(spec = ucoin.pks.Lookup.__get__)
+        mock_get.return_value = [
+        {
+          "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",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        },
+        {
+          "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",
+            "raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
+          }
+        }]
+        return mock_get
 
 #TODO: Lookup for person after community was tested
 class Test_Person():
-	def test_person_lookup(self, monkeypatch):
-		pass
-		
+    def test_person_lookup(self, monkeypatch):
+        pass
+        
 
-	def test_person_jsonify(self):
-		pass
+    def test_person_jsonify(self):
+        pass
 
 
-	def test_person_from_json(self):
-		pass
+    def test_person_from_json(self):
+        pass
diff --git a/src/_cutecoin_test/models/test_wallet.py b/src/_cutecoin_test/models/test_wallet.py
index 37374c3202c9b4d4980062bb21d0d327454e5f29..cc4d0f50c73b2267d2b5f104c4278727cc5125f0 100644
--- a/src/_cutecoin_test/models/test_wallet.py
+++ b/src/_cutecoin_test/models/test_wallet.py
@@ -1,65 +1,52 @@
 import pytest
 import ucoinpy as ucoin
-from mock import Mock
+from mock import Mock, patch
 from cutecoin.models.wallet import Wallet
-from cutecoin.models.community import Community
+from cutecoin.models.community import Community, CommunityNetwork
 
 @pytest.fixture
-def mock_coins_list_get():
-	mock_get = Mock(spec=ucoin.hdc.coins.List.__get__)
-	mock_get.return_value = {
-	"owner": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
-	"coins": [{
-	  "issuer": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
-	  "ids": ["1-5-2-A-1", "2-4-1-A-1"]
-	},{
-	  "issuer": "31A6302161AC8F5938969E85399EB3415C237F93",
-	  "ids": ["10-1-2-F-14"]
-	}]
-	}
-	return mock_get
-
-
-@pytest.fixture	
-def mock_community_request(request, mock_coins_list_get):
-		if request == ucoin.hdc.coins.List.get:
-			return mock_coins_list_get()
-		else:
-			return "Failed !"
-
-
-@pytest.fixture	
-def mock_community(mock_community_request):
-		community = Mock(spec=Community)
-		instance = community.return_value
-		instance.network.request.return_value = mock_community_request
-		return community
+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 = Mock(spec=Community, network=mock_network)
+        
+    return community
 
 
 class Test_Wallet:
-	def test_wallet_create(self, mock_community):
-		wallet = Wallet([], mock_community)
-		assert wallet is not None
-
-		
-	def test_wallet_load(self):
-		pass
-
+    def test_wallet_create(self, mock_community):
+        wallet = Wallet([], mock_community)
+        assert wallet is not None
 
-	def test_wallet_value(self, mock_community):
-		wallet = Wallet([], mock_community)
-		assert wallet.value() == 640
-		
-		pass
+        
+    def test_wallet_load(self):
+        pass
 
 
-	def test_wallet_refresh_coins(self):
-		pass
+    def test_wallet_value(self, mock_community):
+        wallet = Wallet([], mock_community)
+        assert wallet.value() == 0
+        wallet.refresh_coins("86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8")
+        assert wallet.value() == 640
+        pass
 
 
-	def test_wallet_get_text(self):
-		pass
+    def test_wallet_get_text(self):
+        pass
 
 
-	def test_wallet_jsonify(self):
-		pass
+    def test_wallet_jsonify(self):
+        pass
diff --git a/src/cutecoin/models/community/__init__.py b/src/cutecoin/models/community/__init__.py
index f7d488cee4d4eab322924b3e1703d7c948b6c756..875329cdc88eee817e7b908e32157dbd45d60b54 100644
--- a/src/cutecoin/models/community/__init__.py
+++ b/src/cutecoin/models/community/__init__.py
@@ -26,6 +26,9 @@ 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']
 
@@ -70,12 +73,12 @@ class Community(object):
 
     def dividend(self):
         current_amendment = self.network.request(ucoin.hdc.amendments.Current())
-        return current_amendment['dividend']
+        return int(current_amendment['dividend'])
 
     def coin_minimal_power(self):
         current_amendment = self.network.request(ucoin.hdc.amendments.Current())
         if 'coinMinimalPower' in current_amendment.keys():
-            return current_amendment['coinMinimalPower']
+            return int(current_amendment['coinMinimalPower'])
         else:
             return 0
 
@@ -90,7 +93,7 @@ class Community(object):
 
     def amendment_number(self):
         current_amendment = self.network.request(ucoin.hdc.amendments.Current())
-        return current_amendment['number']
+        return int(current_amendment['number'])
 
     def person_quality(self, fingerprint):
         if (fingerprint in self.voters_fingerprints()):
@@ -106,7 +109,7 @@ class Community(object):
         '''
         fingerprints = self.network.request(
             ucoin.hdc.amendments.view.Members(
-                self.amendment_id()))
+                amendment_id=self.amendment_id()))
         members = []
         for f in fingerprints:
             members.append(f['value'])
@@ -118,7 +121,7 @@ class Community(object):
         '''
         fingerprints = self.network.request(
             ucoin.hdc.amendments.view.Voters(
-                self.amendment_id()))
+                amendment_id=self.amendment_id()))
         voters = []
         for f in fingerprints:
             voters.append(f['value'])
diff --git a/src/cutecoin/models/community/network.py b/src/cutecoin/models/community/network.py
index 93a855c40f0b94a71330c0ad1aaff12d67b6d232..697e94a88a0bbfbe137dd05959d41b3357bfd135 100644
--- a/src/cutecoin/models/community/network.py
+++ b/src/cutecoin/models/community/network.py
@@ -22,14 +22,14 @@ class CommunityNetwork(object):
     def request(self, request, get_args={}):
         for node in self.trusts():
             logging.debug("Trying to connect to : " + node.getText())
-            request = node.use(request)
+            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())
-            request = node.use(request)
+            node.use(request)
             return request.post(**get_args)
         raise RuntimeError("Cannot connect to any node")