public void Success() { const long memId = (long)SetupMemberId.BookZach; const MemberType.Id newType = MemberType.Id.Staff; var op = new WebUpdateMemberTypeOperation(); Member result = op.Execute(OpCtx, memId, newType); Assert.NotNull(result, "Result should be filled."); Assert.AreEqual(memId, result.VertexId, "Incorrect VertexId."); Assert.AreEqual((byte)newType, result.MemberType, "Incorrect MemberType."); IWeaverQuery memQ = Weave.Inst.Graph .V.ExactIndex <Member>(x => x.VertexId, memId) .Has(x => x.MemberType, WeaverStepHasOp.EqualTo, (byte)newType) .ToQuery(); IWeaverQuery userDefMemQ = Weave.Inst.Graph .V.ExactIndex <User>(x => x.VertexId, (byte)SetupUserId.Zach) .DefinesMembers .Has(x => x.AppId, WeaverStepHasOp.EqualTo, (byte)SetupAppId.Bookmarker) .Has(x => x.MemberType, WeaverStepHasOp.EqualTo, (byte)newType) .ToMember .ToQuery(); IWeaverQuery appDefMemQ = Weave.Inst.Graph .V.ExactIndex <App>(x => x.VertexId, (byte)SetupAppId.Bookmarker) .DefinesMembers .Has(x => x.UserId, WeaverStepHasOp.EqualTo, (byte)SetupUserId.Zach) .Has(x => x.MemberType, WeaverStepHasOp.EqualTo, (byte)newType) .ToMember .ToQuery(); VerificationQueryFunc = () => { IDataResult dr = OpCtx.ExecuteForTest(memQ, "UpdateMemType1-Verify"); Assert.AreEqual(1, dr.GetCommandResultCount(), "New element not verified (1)."); dr = OpCtx.ExecuteForTest(userDefMemQ, "UpdateMemType2-Verify"); Assert.AreEqual(1, dr.GetCommandResultCount(), "New element not verified (2)."); dr = OpCtx.ExecuteForTest(appDefMemQ, "UpdateMemType3-Verify"); Assert.AreEqual(1, dr.GetCommandResultCount(), "New element not verified (3)."); }; }
public void Success() { const long userId = 1342653246; const long appId = 4634634; var mockDataAcc = MockDataAccess.Create(mda => { Assert.AreEqual(MockDataAccess.SessionStart, mda.GetCommand(0).SessionAction, "Incorrect Command 0 SessionAction."); string expectScript = "m=g.V('" + DbName.Vert.Vertex.VertexId + "',_P).next();"; var expectParam = new List <object> { vMem.VertexId }; TestUtil.CheckWeaverScript(mda.GetCommand(1), expectScript, "_P", expectParam); expectScript = "m.outE('" + DbName.Edge.MemberDefinedByUserName + "')" + ".inV.property('" + DbName.Vert.Vertex.VertexId + "');"; expectParam = new List <object>(); TestUtil.CheckWeaverScript(mda.GetCommand(2), expectScript, "_P", expectParam); expectScript = "m.outE('" + DbName.Edge.MemberDefinedByAppName + "')" + ".inV.property('" + DbName.Vert.Vertex.VertexId + "');"; expectParam = new List <object>(); TestUtil.CheckWeaverScript(mda.GetCommand(3), expectScript, "_P", expectParam); Assert.AreEqual(MockDataAccess.SessionClose, mda.GetCommand(4).SessionAction, "Incorrect Command 4 SessionAction."); Assert.AreEqual("Web-GetMemberDetails", mda.Object.ExecuteName, "Incorrect ExecuteName."); }); mockDataAcc.MockResult .Setup(x => x.ToLongAt(2, 0)) .Returns(userId); mockDataAcc.MockResult .Setup(x => x.ToLongAt(3, 0)) .Returns(appId); vMockData .Setup(x => x.Build(null, false, true)) .Returns(mockDataAcc.Object); //// const string expectUpdateScript = "g.V('" + DbName.Vert.Vertex.VertexId + "',_P)" + ".sideEffect{it.setProperty('" + DbName.Vert.Member.MemberType + "',_P);}" + ".outE('" + DbName.Edge.MemberDefinedByUserName + "').inV" + ".outE('" + DbName.Edge.UserDefinesMemberName + "')" + ".has('" + DbName.Edge.UserDefinesMember.AppId + "',Tokens.T.eq,_P)" + ".sideEffect{it.setProperty('" + DbName.Edge.UserDefinesMember.MemberType + "',_P);}" + ".inV" + ".outE('" + DbName.Edge.MemberDefinedByAppName + "').inV" + ".outE('" + DbName.Edge.AppDefinesMemberName + "')" + ".has('" + DbName.Edge.AppDefinesMember.UserId + "',Tokens.T.eq,_P)" + ".sideEffect{it.setProperty('" + DbName.Edge.AppDefinesMember.MemberType + "',_P);}" + ".inV;"; var expectUpdateParams = new List <object> { vMem.VertexId, (byte)vNewMemTypeId, appId, (byte)vNewMemTypeId, userId, (byte)vNewMemTypeId }; vMockData .Setup(x => x.Get <Member>(It.IsAny <IWeaverQuery>(), "Web-UpdateMemberType")) .Callback((IWeaverScript q, string n) => TestUtil.CheckWeaverScript(q, expectUpdateScript, "_P", expectUpdateParams)) .Returns(vMem); //// Member result = vOper.Execute(vMockOpCtx.Object, vMem.VertexId, vNewMemTypeId); Assert.AreEqual(vMem, result, "Incorrect result."); }