You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/04/27 20:31:36 UTC
[17/50] [abbrv] git commit: ISIS-233: domainservice.serviceId testing
of repr.
ISIS-233: domainservice.serviceId testing of repr.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c0e6f1d7
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c0e6f1d7
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c0e6f1d7
Branch: refs/heads/master
Commit: c0e6f1d763c90720f30a2cd06191f5f70e88d315
Parents: cfe2b10
Author: Dan Haywood <da...@apache.org>
Authored: Tue Mar 5 23:51:40 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Sat Apr 27 18:57:40 2013 +0100
----------------------------------------------------------------------
...ainServiceTest_req_queryarg_xrofollowlinks.java | 5 +-
.../DomainServiceTest_resp_representation.java | 70 +++++++++++++--
.../tck/dom/busrules/BusRulesEntityRepository.java | 4 +-
3 files changed, 67 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c0e6f1d7/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_req_queryarg_xrofollowlinks.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_req_queryarg_xrofollowlinks.java b/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_req_queryarg_xrofollowlinks.java
index 7e655d7..4021e98 100644
--- a/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_req_queryarg_xrofollowlinks.java
+++ b/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_req_queryarg_xrofollowlinks.java
@@ -90,7 +90,7 @@ public class DomainServiceTest_req_queryarg_xrofollowlinks {
}
@Test
- public void toMembers() throws Exception {
+ public void toMembersDetails() throws Exception {
final String href = givenHrefToService("WrapperValuedEntities");
final RestfulRequest request = client.createRequest(RestfulHttpMethod.GET, href).withArg(RequestParameter.FOLLOW_LINKS, "members.links[rel=%s]", Rel.DETAILS.getName());
@@ -139,7 +139,7 @@ public class DomainServiceTest_req_queryarg_xrofollowlinks {
}
@Test
- public void multipleMembers() throws Exception {
+ public void toMultipleMembersDetails() throws Exception {
final String href = givenHrefToService("WrapperValuedEntities");
@@ -164,7 +164,6 @@ public class DomainServiceTest_req_queryarg_xrofollowlinks {
}
-
private String givenHrefToService(final String serviceId) throws JsonParseException, JsonMappingException, IOException {
final DomainServiceResource resource = client.getDomainServiceResource();
http://git-wip-us.apache.org/repos/asf/isis/blob/c0e6f1d7/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_resp_representation.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_resp_representation.java b/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_resp_representation.java
index a58cfe4..fea89c7 100644
--- a/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_resp_representation.java
+++ b/component/viewer/restfulobjects/tck/src/test/java/org/apache/isis/viewer/restfulobjects/tck/domainservice/serviceId/DomainServiceTest_resp_representation.java
@@ -23,11 +23,13 @@ import static org.apache.isis.viewer.restfulobjects.tck.RepresentationMatchers.a
import static org.apache.isis.viewer.restfulobjects.tck.RepresentationMatchers.isArray;
import static org.apache.isis.viewer.restfulobjects.tck.RepresentationMatchers.isLink;
import static org.apache.isis.viewer.restfulobjects.tck.RepresentationMatchers.isMap;
+import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.CoreMatchers.endsWith;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertThat;
+import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.Response;
import org.apache.isis.viewer.restfulobjects.applib.LinkRepresentation;
@@ -40,6 +42,7 @@ import org.apache.isis.viewer.restfulobjects.applib.domainobjects.DomainObjectMe
import org.apache.isis.viewer.restfulobjects.applib.domainobjects.DomainObjectRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.domainobjects.DomainServiceResource;
import org.apache.isis.viewer.restfulobjects.tck.IsisWebServerRule;
+import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
@@ -125,23 +128,76 @@ public class DomainServiceTest_resp_representation {
}
- @Ignore("todo")
+
@Test
- public void disabledAction() throws Exception {
+ public void visibleAndInvocableAction() throws Exception {
+ // given
+ final Response resp = resource.service("BusinessRulesEntities");
+
+ // when
+ final RestfulResponse<DomainObjectRepresentation> jsonResp = RestfulResponse.ofT(resp);
+
+ // then
+ assertThat(jsonResp.getStatus(), is(HttpStatusCode.OK));
+ final DomainObjectRepresentation repr = jsonResp.getEntity();
+
+ assertThat(repr, isMap());
+
+ final DomainObjectMemberRepresentation actionRepr = repr.getAction("visibleAndInvocableAction");
+ assertThat(actionRepr, isMap());
+
+ assertThat(actionRepr.getDisabledReason(), is(nullValue()));
+
+ final LinkRepresentation actionDetailsLink = actionRepr.getLinkWithRel(Rel.DETAILS);
+ assertThat(actionDetailsLink, isLink(this.client)
+ .rel(Rel.DETAILS)
+ .httpMethod(RestfulHttpMethod.GET)
+ .href(Matchers.endsWith(":39393/services/BusinessRulesEntities/actions/visibleAndInvocableAction"))
+ .returning(HttpStatusCode.OK));
+ }
+
+
+ @Test
+ public void visibleButNotInvocableAction() throws Exception {
- // has a disabledRead
+ // given
+ final Response resp = resource.service("BusinessRulesEntities");
+
+ // when
+ final RestfulResponse<DomainObjectRepresentation> jsonResp = RestfulResponse.ofT(resp);
+
+ // then
+ assertThat(jsonResp.getStatus(), is(HttpStatusCode.OK));
+ final DomainObjectRepresentation repr = jsonResp.getEntity();
+
+ final DomainObjectMemberRepresentation actionRepr = repr.getAction("visibleButNotInvocableAction");
+ assertThat(actionRepr, isMap());
+ assertThat(actionRepr.getDisabledReason(), is("Always disabled"));
+
+ final LinkRepresentation actionDetailsLink = actionRepr.getLinkWithRel(Rel.DETAILS);
+
+ // even though not invocable, still can traverse to its details page
+ assertThat(actionDetailsLink, isLink(this.client)
+ .href(Matchers.endsWith(":39393/services/BusinessRulesEntities/actions/visibleButNotInvocableAction"))
+ .returning(HttpStatusCode.OK));
}
- @Ignore("todo")
@Test
- public void nonExistentAction() throws Exception {
+ public void invisibleAction() throws Exception {
+ // given
+ final Response resp = resource.service("BusinessRulesEntities");
- // eg...
- // DomainObjectMemberRepresentation listMemberRepr = repr.getAction("foobar");
+ // when
+ final RestfulResponse<DomainObjectRepresentation> jsonResp = RestfulResponse.ofT(resp);
+
+ // then
+ assertThat(jsonResp.getStatus(), is(HttpStatusCode.OK));
+ final DomainObjectRepresentation repr = jsonResp.getEntity();
+ assertThat(repr.getAction("invisibleAction"), is(nullValue()));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c0e6f1d7/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/busrules/BusRulesEntityRepository.java
----------------------------------------------------------------------
diff --git a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/busrules/BusRulesEntityRepository.java b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/busrules/BusRulesEntityRepository.java
index cc1a814..456f514 100644
--- a/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/busrules/BusRulesEntityRepository.java
+++ b/core/tck/tck-dom/src/main/java/org/apache/isis/core/tck/dom/busrules/BusRulesEntityRepository.java
@@ -49,14 +49,14 @@ public class BusRulesEntityRepository extends AbstractEntityRepository<BusRulesE
@ActionSemantics(Of.SAFE)
@MemberOrder(sequence = "1")
- public BusRulesEntity visibleAndInvokableAction(int id) {
+ public BusRulesEntity visibleAndInvocableAction(int id) {
return this.findById(id);
}
@Disabled
@ActionSemantics(Of.SAFE)
@MemberOrder(sequence = "1")
- public BusRulesEntity visibleButUninvokableAction(int id) {
+ public BusRulesEntity visibleButNotInvocableAction(int id) {
return this.findById(id);
}