public void ToApiCreateRoomRequest() { // ARRANGE GroupMemberAcceptance paramGMA = GroupMemberAcceptance.AutoAllow; string expectedGMAValue = "autoallow"; ApiCreateRoomRequest expected = FactoryRoom.ApiCreateRoomRequest; expected.NewGroupMemberAcceptance = expectedGMAValue; CreateRoomRequest param = new CreateRoomRequest(expected.Name) { ParentId = expected.ParentId.Value, Quota = expected.Quota, Notes = expected.Notes, RecycleBinRetentionPeriod = expected.RecycleBinRetentionPeriod, HasInheritPermissions = expected.InheritPermissions.Value, AdminUserIds = expected.AdminIds, AdminGroupIds = expected.AdminGroupIds, NewGroupMemberAcceptance = paramGMA }; Mock.Arrange(() => EnumConverter.ConvertGroupMemberAcceptanceToValue(paramGMA)).Returns(expectedGMAValue); // ACT ApiCreateRoomRequest actual = RoomMapper.ToApiCreateRoomRequest(param); // ASSERT Assert.Equal(expected, actual, new ApiCreateRoomRequestComparer()); }
IRestRequest IRequestBuilder.PostRoom(ApiCreateRoomRequest roomParams) { RestRequest request = new RestRequest(ApiConfig.ApiPostRoom, Method.POST); SetGeneralRestValues(request, true, roomParams); return(request); }
internal static ApiCreateRoomRequest ToApiCreateRoomRequest(CreateRoomRequest createRoomRequest) { ApiCreateRoomRequest apiCreateRoomRequest = new ApiCreateRoomRequest { ParentId = createRoomRequest.ParentId, Name = createRoomRequest.Name, Quota = createRoomRequest.Quota, Notes = createRoomRequest.Notes, RecycleBinRetentionPeriod = createRoomRequest.RecycleBinRetentionPeriod, InheritPermissions = createRoomRequest.HasInheritPermissions, AdminIds = createRoomRequest.AdminUserIds, AdminGroupIds = createRoomRequest.AdminGroupIds, NewGroupMemberAcceptance = EnumConverter.ConvertGroupMemberAcceptanceToValue(createRoomRequest.NewGroupMemberAcceptance) }; return(apiCreateRoomRequest); }
public Node CreateRoom(CreateRoomRequest request) { _client.Executor.CheckApiServerVersion(); #region Parameter Validation request.MustNotNull(nameof(request)); request.ParentId.MustPositive(nameof(request.ParentId)); request.Name.MustNotNullOrEmptyOrWhitespace(nameof(request.Name)); request.Quota.NullableMustNotNegative(nameof(request.Quota)); request.RecycleBinRetentionPeriod.NullableMustNotNegative(nameof(request.RecycleBinRetentionPeriod)); if (request.AdminUserIds.CheckEnumerableNullOrEmpty() && request.AdminGroupIds.CheckEnumerableNullOrEmpty()) { throw new ArgumentNullException(nameof(request.AdminUserIds) + " | " + nameof(request.AdminGroupIds), "Room must have an admin user or admin group."); } if (request.AdminUserIds != null) { request.AdminUserIds.EnumerableMustNotNullOrEmpty(nameof(request.AdminUserIds)); request.AdminUserIds.ForEach(id => id.MustPositive(nameof(request.AdminUserIds) + " element")); } if (request.AdminGroupIds != null) { request.AdminGroupIds.EnumerableMustNotNullOrEmpty(nameof(request.AdminGroupIds)); request.AdminGroupIds.ForEach(id => id.MustPositive(nameof(request.AdminGroupIds) + " element")); } #endregion ApiCreateRoomRequest apiCreateRoomRequest = RoomMapper.ToApiCreateRoomRequest(request); IRestRequest restRequest = _client.Builder.PostRoom(apiCreateRoomRequest); ApiNode result = _client.Executor.DoSyncApiCall <ApiNode>(restRequest, RequestType.PostRoom); return(NodeMapper.FromApiNode(result)); }