You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by aw...@apache.org on 2019/09/03 07:26:00 UTC
[fineract-cn-group] 34/46: implementing Unit test on Group and
GroupDefinition
This is an automated email from the ASF dual-hosted git repository.
awasum pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-group.git
commit 4b1b30b9e40180b7f6c4005d11c342cc51ec70a1
Author: kengneruphine <ru...@gmail.com>
AuthorDate: Thu Sep 6 13:25:12 2018 +0100
implementing Unit test on Group and GroupDefinition
---
.../org/apache/fineract/cn/group/TestGroup.java | 23 ++++++++++++++++
.../fineract/cn/group/TestGroupDefinition.java | 31 +++++++++++++++++++++-
.../listener/GroupDefinitionEventListener.java | 11 ++++++++
3 files changed, 64 insertions(+), 1 deletion(-)
diff --git a/component-test/src/main/java/org/apache/fineract/cn/group/TestGroup.java b/component-test/src/main/java/org/apache/fineract/cn/group/TestGroup.java
index 1307d66..1b485f9 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/group/TestGroup.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/group/TestGroup.java
@@ -262,6 +262,29 @@ public class TestGroup {
Assert.assertEquals(anotherEmployee.getIdentifier(), fetchedGroup.getAssignedEmployee());
}
+ @Test
+ public void shouldUpdateGroup() throws Exception{
+ final GroupDefinition randomGroupDefinition = GroupDefinitionGenerator.createRandomGroupDefinition();
+ this.testSubject.createGroupDefinition(randomGroupDefinition);
+ this.eventRecorder.wait(EventConstants.POST_GROUP_DEFINITION, randomGroupDefinition.getIdentifier());
+
+ final Group randomGroup = GroupGenerator.createRandomGroup(randomGroupDefinition.getIdentifier());
+ this.testSubject.createGroup(randomGroup);
+
+ this.eventRecorder.wait(EventConstants.POST_GROUP, randomGroup.getIdentifier());
+
+ randomGroup.setName(RandomStringUtils.randomAlphanumeric(256));
+
+ this.testSubject.updateGroup(randomGroup.getIdentifier(), randomGroup);
+
+ this.eventRecorder.wait(EventConstants.PUT_GROUP,randomGroup.getIdentifier());
+
+ final Group updatedGroup = this.testSubject.findGroup(randomGroup.getIdentifier());
+ Assert.assertEquals(randomGroup.getName(), updatedGroup.getName());
+
+
+ }
+
@Configuration
@EnableEventRecording
@EnableFeignClients(basePackages = {"org.apache.fineract.cn.group.api.v1.client"})
diff --git a/component-test/src/main/java/org/apache/fineract/cn/group/TestGroupDefinition.java b/component-test/src/main/java/org/apache/fineract/cn/group/TestGroupDefinition.java
index 608cf64..e7a75f0 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/group/TestGroupDefinition.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/group/TestGroupDefinition.java
@@ -54,6 +54,7 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
+
public class TestGroupDefinition {
private static final String APP_NAME = "group-v1";
private static final String TEST_USER = "ranefer";
@@ -92,7 +93,7 @@ public class TestGroupDefinition {
@After
public void cleanTest() {
- TenantContextHolder.clear();
+ //TenantContextHolder.clear();
userContext.close();
}
@@ -127,6 +128,34 @@ public class TestGroupDefinition {
Assert.assertNull(fetchedGroupDefinition.getLastModifiedOn());
}
+
+ @Test
+ public void shouldUpdateGroupDefinition() throws Exception{
+ final GroupDefinition randomGroupDefinition = GroupDefinitionGenerator.createRandomGroupDefinition();
+ this.testSubject.createGroupDefinition(randomGroupDefinition);
+
+ this.eventRecorder.wait(EventConstants.POST_GROUP_DEFINITION, randomGroupDefinition.getIdentifier());
+
+ final GroupDefinition updatedGroupDefinition = GroupDefinitionGenerator.createRandomGroupDefinition();
+ updatedGroupDefinition.setIdentifier(randomGroupDefinition.getIdentifier());
+
+ this.testSubject.updateGroupDefinition(updatedGroupDefinition.getIdentifier(),updatedGroupDefinition);
+
+ this.eventRecorder.wait(EventConstants.PUT_GROUP_DEFINITION, randomGroupDefinition.getIdentifier());
+
+ final GroupDefinition fetchedGroupDefinition = this.testSubject.findGroupDefinition(updatedGroupDefinition.getIdentifier());
+ Assert.assertNotNull(fetchedGroupDefinition);
+ Assert.assertEquals(updatedGroupDefinition.getIdentifier(), fetchedGroupDefinition.getIdentifier());
+ Assert.assertEquals(updatedGroupDefinition.getDescription(), fetchedGroupDefinition.getDescription());
+ Assert.assertEquals(updatedGroupDefinition.getMinimalSize(), fetchedGroupDefinition.getMinimalSize());
+ Assert.assertEquals(updatedGroupDefinition.getMaximalSize(), fetchedGroupDefinition.getMaximalSize());
+ Assert.assertNotNull(fetchedGroupDefinition.getCycle());
+ Assert.assertEquals(updatedGroupDefinition.getCycle().getNumberOfMeetings(), fetchedGroupDefinition.getCycle().getNumberOfMeetings());
+ Assert.assertEquals(updatedGroupDefinition.getCycle().getFrequency(), fetchedGroupDefinition.getCycle().getFrequency());
+ }
+
+
+
@Configuration
@EnableEventRecording
@EnableFeignClients(basePackages = {"org.apache.fineract.cn.group.api.v1.client"})
diff --git a/component-test/src/main/java/org/apache/fineract/cn/group/listener/GroupDefinitionEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/group/listener/GroupDefinitionEventListener.java
index 13dad62..42452a5 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/group/listener/GroupDefinitionEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/group/listener/GroupDefinitionEventListener.java
@@ -47,4 +47,15 @@ public class GroupDefinitionEventListener {
final String payload) {
this.eventRecorder.event(tenant, EventConstants.POST_GROUP_DEFINITION, payload, String.class);
}
+
+ @JmsListener(
+ subscription = EventConstants.DESTINATION,
+ destination = EventConstants.DESTINATION,
+ selector = EventConstants.SELECTOR_PUT_GROUP_DEFINITION
+ )
+ public void onGroupDefinitionUpdated(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
+ final String payload) {
+ this.eventRecorder.event(tenant, EventConstants.PUT_GROUP_DEFINITION, payload, String.class);
+ }
+
}