public void SetUp()
        {
            vMem          = new Member();
            vMem.VertexId = 1234125;

            vNewMemTypeId = MemberType.Id.Owner;

            vMockData = new Mock <IOperationData>(MockBehavior.Strict);

            vMockOpCtx = new Mock <IOperationContext>(MockBehavior.Strict);
            vMockOpCtx.SetupGet(x => x.Data).Returns(vMockData.Object);

            vOper = new WebUpdateMemberTypeOperation();
        }
        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).");
            };
        }