public void InvalidDeleteGenericRecordTests(ResourceId resource, InvalidDeleteGenericRecord condition)
        {
            var recordHandler = new GenericRecordManager();
            var propDic       = InvalidDeleteGenericRecordRequest(resource, condition);
            var requestData   = new KeyValuePair <string, List <Dictionary <string, object> > >("data", new List <Dictionary <string, object> >()
            {
                propDic
            });

            if (condition == InvalidDeleteGenericRecord.NotLogin)
            {
                PrivateApiConnection.GetConnectionForCurrentTest().DeAuthenticate();
                var result = recordHandler.DeleteRecord <DeleteGenericRecordResponse.Error>(requestData, HttpMethod.Delete);
                PrivateApiConnection.GetConnectionForCurrentTest().Authenticate();
                PrAssert.That(result, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
            }
            else if (condition == InvalidDeleteGenericRecord.TransactionError)
            {
                // Currently, we can't test this case so It'll test in the next time
            }
            else
            {
                var result = recordHandler.DeleteRecord <DeleteGenericRecordResponse.Error>(requestData, HttpMethod.Delete);
                PrAssert.That(result, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
            }
        }
        private static Dictionary <string, object> InvalidDeleteGenericRecordRequest(ResourceId resource, InvalidDeleteGenericRecord condition)
        {
            var data = new Dictionary <string, object>()
            {
                ["resource"] = (int)resource
            };

            if (condition == InvalidDeleteGenericRecord.WrongResourceId)
            {
                data["resource"] = 20;
            }

            InvalidDeleteGenericRecordMapper[condition](resource, FirstSystemRecord, data);

            return(data);
        }