public static async Task BindModelAsync_NullOrWhiteSpaceModelName_UsesDefault( string modelName, Mock <IValueProvider> valueProviderMock, Mock <ModelBindingContext> contextMock, OrderModelBinder modelBinder) { contextMock.SetupAllProperties(); contextMock.Setup(c => c.ModelName).Returns(modelName); contextMock.Setup(c => c.ValueProvider).Returns(valueProviderMock.Object); valueProviderMock.Setup(v => v.GetValue(It.IsAny <string>())).Returns(ValueProviderResult.None); await modelBinder.BindModelAsync(contextMock.Object); valueProviderMock.Verify(v => v.GetValue(It.Is <string>(s => s == OrderModelBinder.DefaultModelName))); }
public static async Task BindModelAsync_NoValue_ResultIsFailed( Mock <IValueProvider> valueProviderMock, Mock <ModelBindingContext> contextMock, OrderModelBinder modelBinder) { contextMock.SetupAllProperties(); contextMock.Setup(c => c.ValueProvider).Returns(valueProviderMock.Object); valueProviderMock.Setup(v => v.GetValue(It.IsAny <string>())).Returns(ValueProviderResult.None); var context = contextMock.Object; await modelBinder.BindModelAsync(context); context.Result.Should().Be(ModelBindingResult.Failed()); }
public static async Task BindModelAsync_InvalidCallOffId_AddsModelError( [Frozen] Mock <IValueProvider> valueProviderMock, Mock <ModelBindingContext> contextMock, OrderModelBinder modelBinder) { contextMock.SetupAllProperties(); contextMock.Setup(c => c.ValueProvider).Returns(valueProviderMock.Object); valueProviderMock .Setup(v => v.GetValue(It.IsAny <string>())) .Returns(new ValueProviderResult(new StringValues("NotCallOffId"))); var context = contextMock.Object; await modelBinder.BindModelAsync(context); context.ModelState.Should().HaveCount(1); context.ModelState.Keys.Should().Contain(OrderModelBinder.DefaultModelName); }
public static async Task BindModelAsync_ReturnsSuccessWithOrder( [Frozen] ApplicationDbContext dbContext, [Frozen] CallOffId callOffId, Order order, Mock <IValueProvider> valueProviderMock, Mock <ModelBindingContext> contextMock, OrderModelBinder modelBinder) { dbContext.Order.Add(order); await dbContext.SaveChangesAsync(); contextMock.SetupAllProperties(); contextMock.Setup(c => c.ValueProvider).Returns(valueProviderMock.Object); valueProviderMock .Setup(v => v.GetValue(It.IsAny <string>())) .Returns(new ValueProviderResult(new StringValues(callOffId.ToString()))); var context = contextMock.Object; await modelBinder.BindModelAsync(context); context.Result.Should().Be(ModelBindingResult.Success(order)); }