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");
            }
        }
Esempio n. 2
0
        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");
        }