Microsoft.Protocols.TestSuites.MS_LISTSWS.S03_OperationOnListItem.MSLISTSWS_S03_TC30_GetListItemChangesWithKnowledge_ViewFields C# (CSharp) Method

MSLISTSWS_S03_TC30_GetListItemChangesWithKnowledge_ViewFields() private method

        public void MSLISTSWS_S03_TC30_GetListItemChangesWithKnowledge_ViewFields()
        {
            Site.Assume.IsTrue(Common.IsRequirementEnabled(24881, this.Site), @"Test is executed only when R24881Enabled is set to true.");

            // Create a List by using specified list name.
            string uniqueListName = TestSuiteHelper.GetUniqueListName();
            string listId = TestSuiteHelper.CreateList(uniqueListName);

            // Add one item into the list.
            int addedItemNumber = 1;
            TestSuiteHelper.AddListItems(listId, addedItemNumber);

            // Get default view GUID.
            GetListAndViewResponseGetListAndViewResult getListAndView = null;
            getListAndView = this.listswsAdapter.GetListAndView(uniqueListName, string.Empty);
            Site.Assert.IsNotNull(getListAndView, "The object \"getListAndView\" should not be null !");
            Site.Assert.IsNotNull(getListAndView.ListAndView, "The object \"getListAndView.ListAndView\" should not be null !");
            Site.Assert.IsNotNull(getListAndView.ListAndView.View, "The object \"getListAndView.ListAndView.View\" should not be null !");
            Site.Assert.IsNotNull(getListAndView.ListAndView.View.Name, "The object \"getListAndView.ListAndView.View.Name\" should not be null !");
            string strViewGUID = getListAndView.ListAndView.View.Name;

            // Invoke the GetListItemChangesSinceToken operation with null viewName parameter.
            GetListItemChangesWithKnowledgeResponseGetListItemChangesWithKnowledgeResult nullViewNameAndViewFieldsResult = null;
            nullViewNameAndViewFieldsResult = this.listswsAdapter.GetListItemChangesWithKnowledge(
                                                                    uniqueListName,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null);

            // Invoke the GetListItemChangesSinceToken operation with invalid viewName parameter.
            string invalidGUID = TestSuiteHelper.GetInvalidGuidAndNocorrespondString();
            GetListItemChangesWithKnowledgeResponseGetListItemChangesWithKnowledgeResult invalidViewNameAndNullViewFieldsResult = null;
            invalidViewNameAndNullViewFieldsResult = this.listswsAdapter.GetListItemChangesWithKnowledge(
                                                                    uniqueListName,
                                                                    invalidGUID,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null);

            // If the server returns the same responses, capture 2276.
            bool isSame = TestSuiteHelper.DeepCompare(nullViewNameAndViewFieldsResult, invalidViewNameAndNullViewFieldsResult);
            Site.CaptureRequirementIfIsTrue(
                isSame,
                2276,
                @"If the viewFields parameter is not specified and the viewName parameter does not contain a correctly formatted GUID, the server response will be same if we use invalid and empty viewName parameter.");

            // Create viewFields 
            string fieldName = Common.GetConfigurationPropertyValue("ListFieldText", this.Site);
            CamlViewFields viewFields = TestSuiteHelper.CreateViewFields(true, new List<string> { fieldName });

            // Invoke the GetListItemChangesSinceToken operation with valid viewName and viewFields parameters.
            GetListItemChangesWithKnowledgeResponseGetListItemChangesWithKnowledgeResult validViewNameAndViewFieldsResult = null;
            validViewNameAndViewFieldsResult = this.listswsAdapter.GetListItemChangesWithKnowledge(
                                                                    uniqueListName,
                                                                    strViewGUID,
                                                                    null,
                                                                    viewFields,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null);

            // Invoke the GetListItemChangesSinceToken operation with null viewName and valid viewFields parameters.
            GetListItemChangesWithKnowledgeResponseGetListItemChangesWithKnowledgeResult nullViewNameAndValidViewFieldsResult = null;
            nullViewNameAndValidViewFieldsResult = this.listswsAdapter.GetListItemChangesWithKnowledge(
                                                                    uniqueListName,
                                                                    null,
                                                                    null,
                                                                    viewFields,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null,
                                                                    null);

            // If the server returns the same responses, capture 2271.
            isSame = TestSuiteHelper.DeepCompare(validViewNameAndViewFieldsResult, nullViewNameAndValidViewFieldsResult);
            Site.CaptureRequirementIfIsTrue(
                isSame,
                2271,
                @"if the viewFields parameter is specified, the server response will be same if we use valid and empty viewName parameter.");
        }
S03_OperationOnListItem