/ThinkEmailFormatter.Tests/Controllers/TempateControllerTest.cs
C# | 53 lines | 43 code | 7 blank | 3 comment | 0 complexity | 430f2fac7b882ee9055203f9183e8fde MD5 | raw file
Possible License(s): BSD-3-Clause
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Web.Mvc;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using ThinkEmailFormatter.Controllers;
- using Moq;
- using System.Web;
- using System.IO;
- using ThinkEmailFormatter.Models;
- namespace ThinkEmailFormatter.Tests.Controllers
- {
- [TestClass]
- public class TempateControllerTest
- {
- [TestMethod]
- public void IndexCheckTemplates()
- {
- //Arrange
- var moqAggregateService = new Mock<IControllerAggregateService>();
- var moqHttpContext = new Mock<HttpContextBase>();
- var moqHttpRequest = new Mock<HttpRequestBase>();
- string solutionPath = Path.GetFullPath(@"../../../");
- string projectPath = "Views/Template/Templates";
- moqHttpRequest
- .Setup(request => request.MapPath(string.Format(@"~/{0}", projectPath)))
- .Returns(string.Format(@"{0}/ThinkEmailFomatter/{1}", solutionPath, projectPath));
- moqHttpContext
- .SetupGet(context => context.Request)
- .Returns(moqHttpRequest.Object);
- moqAggregateService
- .SetupGet(svc => svc.HttpContext)
- .Returns(moqHttpContext.Object);
- TemplateController controller = new TemplateController(moqAggregateService.Object);
- //Act
- var view = controller.Index();
- var viewModel = view.Model as IEnumerable<Template>;
- //Assert
- Assert.AreEqual("AfrTemplate_1", viewModel.First().Name);
- Assert.AreEqual("Preview", viewModel.Skip(1).First().Name);
- Assert.AreEqual("Preview2", viewModel.Skip(2).First().Name);
- Assert.AreEqual("Preview3", viewModel.Last().Name);
- }
- }
- }