PageRenderTime 48ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/ThinkEmailFormatter.Tests/Controllers/TempateControllerTest.cs

https://bitbucket.org/nicdao/frg-think-emailformatter
C# | 53 lines | 43 code | 7 blank | 3 comment | 0 complexity | 430f2fac7b882ee9055203f9183e8fde MD5 | raw file
Possible License(s): BSD-3-Clause
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Web.Mvc;
  6. using Microsoft.VisualStudio.TestTools.UnitTesting;
  7. using ThinkEmailFormatter.Controllers;
  8. using Moq;
  9. using System.Web;
  10. using System.IO;
  11. using ThinkEmailFormatter.Models;
  12. namespace ThinkEmailFormatter.Tests.Controllers
  13. {
  14. [TestClass]
  15. public class TempateControllerTest
  16. {
  17. [TestMethod]
  18. public void IndexCheckTemplates()
  19. {
  20. //Arrange
  21. var moqAggregateService = new Mock<IControllerAggregateService>();
  22. var moqHttpContext = new Mock<HttpContextBase>();
  23. var moqHttpRequest = new Mock<HttpRequestBase>();
  24. string solutionPath = Path.GetFullPath(@"../../../");
  25. string projectPath = "Views/Template/Templates";
  26. moqHttpRequest
  27. .Setup(request => request.MapPath(string.Format(@"~/{0}", projectPath)))
  28. .Returns(string.Format(@"{0}/ThinkEmailFomatter/{1}", solutionPath, projectPath));
  29. moqHttpContext
  30. .SetupGet(context => context.Request)
  31. .Returns(moqHttpRequest.Object);
  32. moqAggregateService
  33. .SetupGet(svc => svc.HttpContext)
  34. .Returns(moqHttpContext.Object);
  35. TemplateController controller = new TemplateController(moqAggregateService.Object);
  36. //Act
  37. var view = controller.Index();
  38. var viewModel = view.Model as IEnumerable<Template>;
  39. //Assert
  40. Assert.AreEqual("AfrTemplate_1", viewModel.First().Name);
  41. Assert.AreEqual("Preview", viewModel.Skip(1).First().Name);
  42. Assert.AreEqual("Preview2", viewModel.Skip(2).First().Name);
  43. Assert.AreEqual("Preview3", viewModel.Last().Name);
  44. }
  45. }
  46. }