예제 #1
0
        public void DetailTest()
        {
            string            username         = "******";
            MessageController targetController = CreateMessageControllerAs(username, TestModel);
            User user = TestModel.UserList.Single(m => m.Username == username);

            // Na odesílané zprávě mě přečtený/nepřečtený nezajímá
            Message    targetMessage = TestModel.MessageList.Single(m => m.Id == 0);
            ViewResult result        = targetController.Detail(targetMessage.Id) as ViewResult;
            Message    actual        = result.ViewData.Model as Message;

            Assert.AreEqual(actual, targetMessage);

            // Na přijaté zprávě mě přečtený/nepřečtený zajímá
            targetMessage = TestModel.MessageList.Single(m => m.Id == 1);
            Assert.IsFalse(targetMessage.Readers.Contains(user));

            result = targetController.Detail(targetMessage.Id) as ViewResult;
            actual = result.ViewData.Model as Message;

            Assert.AreEqual(actual, targetMessage);
            Assert.IsTrue(targetMessage.Readers.Contains(user));


            result = targetController.Detail(2) as ViewResult;
            Assert.AreEqual(result.ViewName, "NotAuthorized");

            result = targetController.Detail(-1) as ViewResult;
            Assert.AreEqual(result.ViewName, "NotAuthorized");
        }