Как Вы тестируете свои приложения MVC ASP на основанную на пользователе безопасность?

не пытайтесь присвоить значение вашему столбцу внутри операторов CASE WHEN, поскольку вы уже это делаете.
СЛУЧАЙ КОГДА оценивается в значение, которое удовлетворяет условию.
попробуйте этот код

UPDATE payments SET 
 total = :total,
 paid = (CASE WHEN paid > :new THEN :new ELSE paid END),
 due = (CASE WHEN paid < :new THEN (:new - paid) ELSE due END)
 WHERE id = :id 

Я удалил назначения для платных и подлежащих оплате столбцов внутри описания случая.

5
задан Scott Holden 30 January 2009 в 17:22
поделиться

2 ответа

Та ссылка является ОДНИМ путем, но более хорошо использовать Насмешку:

    Mock<ControllerContext> MockContext(string userName)
    {
        var mockContext = new Mock<ControllerContext>();
        // mock an authenticated user
        mockContext.SetupGet(p => p.HttpContext.User.Identity.Name).Returns(userName);
        mockContext.SetupGet(p => p.HttpContext.User.Identity.IsAuthenticated).Returns(true);
        return mockContext;
    }

    [TestMethod]
    public void DinnersController_Delete_Should_Fail_With_InvalidOwner_Given_Wrong_User()
    {
        //set by default
        var mockContext = MockContext("scottha");

        // mock an authenticated user
        _dinnerController.ControllerContext = mockContext.Object;

        ViewResult result = _dinnerController.Delete(1, "") as ViewResult;
        Assert.AreEqual("InvalidOwner", result.ViewName);
    }
8
ответ дан 14 December 2019 в 04:49
поделиться

При использовании TDD тесты должны только протестировать рассматриваемый код, все другие связанные объекты должны быть насмешками/фальшивками

среди других Вам будет нужен ложный поставщик систем обеспечения безопасности, который может моделировать пользовательские случаи, которых Вы требуете для тестирования (гость, user1, user2, администратор и т.д.)

При создании пустого проекта MVC с текущим RC MVC, Вы получаете платформу базового теста с ложными поставщиками систем обеспечения безопасности (членство/роли и т.д.). Они нуждаются в некоторых излагающих в деталях, но дают базовую конструкцию

0
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: