Это модель, которая содержит два поля Field1 и Field2
public class DemoViewModel
{
public string Field1{ get; set; }
public string Field2{ get; set; }
}
Ниже у нас есть контроллер
public class SearchDemoController: BaseController
{
[HttpPost]
[AllowAnonymous]
public IActionResult SearchDemo(DemoViewModel model)
{
if (string.IsNullOrWhiteSpace(model.Field1))
throw new NotImplementedException("Error page - wrong Field1 chosen");
var Field1= DatabaseHandler<Field1>.Get(a => a.IsoName.ToLower().Contains(model.Field1));
}
}
My Failed Xunit Test: или что я думаю, что должнослучается, но мне не хватает знаний для правильной оценки: возможно ли передать поля из модели представления как inlinedata для теории?ex..pass model.Field1 как ноль и как пустой для теста в InlineData.Кроме того, у меня есть проблема в том, как проверить, обрабатывается ли Field1 обработчиком базы данных.Любой совет?
[Theory]
[InlineData] -Field1 Value 1
[InlineData] -Field1 Value 2
[InlineData] -Field1 Value 3
public void SearchDemo_DbHandlerContainsModelField1_WhenField1IsContained()
{
//Arrange
var model = new DemoViewModel();
model.Field1= "Value1"; //i wish somehow to add the values in InlineData
var language = DatabaseHandler<Field1>.Get(a => a.IsoName.ToLower().Contains(model.Language));
//Act
//Assert
Assert.NotNull(model.Field1);
Assert.Equal("Value1",model.Field1);
}