public void InvalidCreatePhaseEntry(PhaseEntryTestData.InvalidValue invalidValue, string param) { var handler = new DefaultManager(); var result = new List <Dictionary <string, object> >(); var dataItem = new Dictionary <string, object> { ["option"] = RootPhaseOption.Data[ResourceId.Client].Id, ["date"] = DateTime.Now.ToString(PhaseEntryTestData.DateTimeFormat), ["memo"] = "This is Phase memo", }; if (dataItem.ContainsKey(param)) { PhaseEntryTestData.InvalidValueMapper[invalidValue](dataItem, param); } var phaseItem = new Dictionary <string, object> { ["resource"] = (int)ResourceId.Client, ["record"] = $"{RecordsCreator.Data[$"{ResourceId.Client}{0}"].Id}", ["data"] = dataItem, }; if (phaseItem.ContainsKey(param)) { PhaseEntryTestData.InvalidValueMapper[invalidValue](phaseItem, param); } result.Add(phaseItem); var request = new Dictionary <string, object>() { ["create"] = result }.ToJson(); PrAssert.That(request, PrIs.Not.EqualTo(string.Empty)); var createResponse = handler.SendAsync <CreatePhaseEntryResponse>(PhaseEntryTestData.PhaseEntryApi, request, HttpMethod.POST).Result; if (param == PhaseEntryTestData.ParamOption) { PrAssert.That(createResponse, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.NotImplemented), "Still able to create Phase Entry"); } else { PrAssert.That(createResponse, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Still able to create Phase Entry"); } }
public void InvalidDeletePhaseEntry(PhaseEntryTestData.InvalidValue invalidValue, string param) { var handler = new DefaultManager(); var deleteItem = new Dictionary <string, object> { [ParamResource] = ResourceId.Client, [ParamRecord] = PreparedPhaseId.Data[ResourceId.Client].Data[0].Record, [ParamPhaseId] = PreparedPhaseId.Data[ResourceId.Client].Data[0].PhaseId, }; PhaseEntryTestData.InvalidValueMapper[invalidValue](deleteItem, param); var request = new Dictionary <string, object>() { [ParamDelete] = deleteItem }.ToJson(); PrAssert.That(request, PrIs.Not.EqualTo(string.Empty)); var updateResponse = handler.SendAsync <object>(PhaseEntryTestData.PhaseEntryApi, request, HttpMethod.DELETE).Result; PrAssert.That(updateResponse, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest), "Delete Phase Entry sucessfully"); }