Exemplo n.º 1
0
        public void TestRead()
        {
            JsonSerializerOptions options = new JsonSerializerOptions();

            options.SetupExtensions();

            const string json = @"{""key1"":12,""key2"":""value""}";

            SerializableError value = JsonSerializer.Deserialize <SerializableError>(json, options);

            Assert.NotNull(value);
            Assert.Equal(2, value.Count);
            Assert.True(value.ContainsKey("key1"));
            Assert.True(value.ContainsKey("key2"));
            Assert.Equal(12L, value["key1"]);
            Assert.Equal("value", value["key2"]);
        }
Exemplo n.º 2
0
        public static void EnsureBadRequestObjectResultForError(this IActionResult actionResult,
                                                                String expectedErrorKey, String expectedErrorMsg)
        {
            SerializableError content = actionResult.EnsureBadRequestObjectResult <SerializableError>();

            Assert.True(content.ContainsKey(expectedErrorKey));

            Object rawElement = content[expectedErrorKey];

            Assert.IsAssignableFrom <IEnumerable <String> >(rawElement);

            IEnumerable <String> errorElements = (IEnumerable <String>)rawElement;

            Assert.Single(errorElements);
            Assert.Equal(expectedErrorMsg, errorElements.First());
        }
Exemplo n.º 3
0
        public async Task PostPayment_ReturnsBadRequestObjectResult_WhenInvalidModelStateReturned()
        {
            // Arrange

            Guid          id            = Guid.NewGuid();
            PaymentStatus paymentStatus = PaymentStatus.Paid;

            PaymentReqVM paymentReqVM = MockPaymentReqVM.Get();

            PaymentReqRespModel  paymentReqRespModel  = MockPaymentReqRespModel.Get(id, paymentStatus);
            ModelStateDictionary modelStateDictionary = new ModelStateDictionary();

            modelStateDictionary.AddModelError("UnitTest", "Error");


            mockPaymentManager.Setup(s => s.PostAsync(It.IsAny <PaymentReqModel>(), It.IsAny <ModelStateDictionary>()))
            .Returns(Task.FromResult <(PaymentReqRespModel, ModelStateDictionary)>((paymentReqRespModel, modelStateDictionary)))
            .Verifiable();

            // Act

            ActionResult actionResult = await paymentController.Post(paymentReqVM) as ActionResult;

            // Assert

            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOf <BadRequestObjectResult>(actionResult);

            BadRequestObjectResult badRequestObjectResult = actionResult as BadRequestObjectResult;

            Assert.IsNotNull(badRequestObjectResult);
            Assert.AreEqual(StatusCodes.Status400BadRequest, badRequestObjectResult.StatusCode);

            Assert.IsNotNull(badRequestObjectResult.Value);
            Assert.IsInstanceOf <SerializableError>(badRequestObjectResult.Value);

            SerializableError serializableError = badRequestObjectResult.Value as SerializableError;

            Assert.IsNotNull(serializableError);

            Assert.AreEqual(1, serializableError.Keys.Count());
            Assert.IsTrue(serializableError.ContainsKey("UnitTest"));

            mockPaymentManager.Verify(v => v.PostAsync(It.IsAny <PaymentReqModel>(), It.IsAny <ModelStateDictionary>()));
        }
Exemplo n.º 4
0
 public static void ContainsKeyAndErrorMessage(this SerializableError error, string key, string errorMessage)
 {
     error.Should().NotBeNull();
     error.ContainsKey(key).Should().BeTrue();
     ((string[])error[key])[0].Should().Be(errorMessage);
 }