using BusinessLogic.Models.ImportType; using BusinessLogic.Models.Shared; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using Type = BusinessLogic.Entities.ImportType; namespace BusinessLogic.UnitTests.Services.ImportType { [TestClass] [ExcludeFromCodeCoverage] public class SearchTransactionsTests : BaseTest { private void SetupUnitOfWork() { int test; MockUnitOfWork.Setup(x => x.ImportTypes.Search(It.IsAny(), out test)) .Returns(new List() { new Entities.ImportType() { Id = 1 } } ); } private void SetupSecurityContext(bool result) { MockSecurityContext.Setup(x => x.IsInRole(It.IsAny())) .Returns(result); } [TestMethod] public void ReturnsCorrectType() { // Arrange SetupUnitOfWork(); SetupSecurityContext(true); var service = GetService(); // Act var result = service.Search(new SearchCriteria()); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(SearchResult)); } [TestMethod] public void ReturnsSameResultPage() { // Arrange SetupUnitOfWork(); SetupSecurityContext(true); var service = GetService(); // Act var result = service.Search(new SearchCriteria() { Page = 1 }); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(SearchResult)); Assert.AreEqual(result.Page, 1); } [TestMethod] public void ReturnsSameResultPageSize() { // Arrange SetupUnitOfWork(); SetupSecurityContext(true); var service = GetService(); // Act var result = service.Search(new SearchCriteria() { PageSize = 20 }); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(SearchResult)); Assert.AreEqual(result.PageSize, 20); } [TestMethod] public void OnErrorReturnsNull() { // Arrange SetupSecurityContext(true); var service = GetService(); // Act var result = service.Search(new SearchCriteria()); // Assert Assert.IsNull(result); } [TestMethod] public void IncorrectSecurityReturnsNull() { // Arrange SetupSecurityContext(false); var service = GetService(); // Act var result = service.Search(new SearchCriteria()); // Assert Assert.IsNull(result); } } }