public void MSVIEWSS_S01_TC04_AddView_EmptyRowLimit()
{
// Call AddView method to add a list view with an empty rowLimit and a query having Where condition.
string listName = TestSuiteBase.ListGUID;
string displayName = this.GenerateRandomString(5);
AddViewViewFields viewFields = new AddViewViewFields();
viewFields.ViewFields = this.GetViewFields(true);
AddViewQuery addViewQuery = new AddViewQuery();
addViewQuery.Query = this.GetCamlQueryRootForWhere(false);
AddViewRowLimit rowLimit = new AddViewRowLimit();
string type = ViewType.Grid.ToString();
AddViewResponseAddViewResult addViewResponseAddViewResult = Adapter.AddView(listName, displayName, viewFields, addViewQuery, rowLimit, type, false);
this.Site.Assert.IsNotNull(addViewResponseAddViewResult, "The added view should be got successfully.");
this.Site.Assert.IsNotNull(addViewResponseAddViewResult.View, "The server should return a View element that specifies the list view when the AddView method is successful!");
// Put the newly added view into ViewPool.
string viewName = addViewResponseAddViewResult.View.Name;
TestSuiteBase.ViewPool.Add(viewName);
// Call GetView method to get the list view created above.
GetViewResponseGetViewResult getView = Adapter.GetView(listName, viewName);
this.Site.Assert.IsNotNull(getView, "The created list view should be got successfully.");
this.Site.Assert.IsNotNull(getView.View, "The response element \"getView.View\" should not be null.");
this.Site.Assert.IsNotNull(getView.View.DisplayName, "The response element \"getView.View.DisplayName\" should not be null.");
this.Site.Assert.AreEqual(displayName, getView.View.DisplayName, "The list view added in the step above should be got successfully!");
this.Site.Assert.IsNotNull(addViewResponseAddViewResult.View.RowLimit, "There should be a RowLimit element in the view.");
// If the protocol server returns the default value of 0x0064 when the rowLimit element is not present, then the following requirement can be captured.
Site.CaptureRequirementIfAreEqual(
0x0064,
addViewResponseAddViewResult.View.RowLimit.Value,
9503,
@"[In AddView] When the value of the rowLimit element is empty, the server MUST use the default value of 0x0064.");
// If the protocol server returns the list view support page-by-page displaying of items when the rowLimit element is not present, then the following requirement can be captured.
Site.CaptureRequirementIfAreEqual(
bool.TrueString.ToUpper(),
addViewResponseAddViewResult.View.RowLimit.Paged.ToUpper(),
9504,
@"[In AddView] When the value of the rowLimit element is empty, the list view MUST support page-by-page displaying of items.");
}