public async Task GetLicenseTransactions_RepositoryThrowsException_ReturnsInternalServerError() { // Arrange var transactions = new[] { new LicenseTransaction { LicenseActivityId = 1, UserId = 1, TransactionType = 1, ActionType = 1, ConsumerType = 1 }, new LicenseTransaction { LicenseActivityId = 2, UserId = 2, TransactionType = 1, ActionType = 1, ConsumerType = 1 }, new LicenseTransaction { LicenseActivityId = 3, UserId = 1, TransactionType = 2, ActionType = 2, ConsumerType = 1 }, }; var httpClientProvider = CreateTestHttpClientProvider(transactions); var userRepository = new Mock <IUserRepository>(); var logMock = new Mock <IServiceLogRepository>(); userRepository.Setup(r => r.GetLicenseTransactionUserInfoAsync(new[] { 1, 2 })).Throws <Exception>(); var controller = new LicensesController(httpClientProvider, userRepository.Object, logMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Headers.Add("Session-Token", string.Empty); int days = 1; // Act IHttpActionResult result = await controller.GetLicenseTransactions(days); // Assert Assert.IsInstanceOfType(result, typeof(InternalServerErrorResult)); }
public async Task GetLicenseTransactions_HttpClientAndRepositoryReturnResults_ReturnsCombinedResults() { // Arrange var transactions = new[] { new LicenseTransaction { LicenseActivityId = 1, UserId = 1, LicenseType = 1, TransactionType = 1, ActionType = 1, ConsumerType = 1 }, new LicenseTransaction { LicenseActivityId = 2, UserId = 2, LicenseType = 3, TransactionType = 1, ActionType = 1, ConsumerType = 1 }, new LicenseTransaction { LicenseActivityId = 3, UserId = 1, LicenseType = 1, TransactionType = 2, ActionType = 2, ConsumerType = 1 }, }; var httpClientProvider = CreateTestHttpClientProvider(transactions); var users = new[] { new LicenseTransactionUser { Id = 1, Login = "******", Department = "Department" }, new LicenseTransactionUser { Id = 2, Login = "******" } }; var userRepository = new Mock <IUserRepository>(); var logMock = new Mock <IServiceLogRepository>(); userRepository.Setup(r => r.GetLicenseTransactionUserInfoAsync(new[] { 1, 2 })).ReturnsAsync(users); var controller = new LicensesController(httpClientProvider, userRepository.Object, logMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); controller.Request.Headers.Add("Session-Token", string.Empty); int days = 1; // Act var result = await controller.GetLicenseTransactions(days) as ResponseMessageResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(HttpStatusCode.OK, result.Response.StatusCode); AddUserInfo(transactions, users); var resultContent = await result.Response.Content.ReadAsAsync <IEnumerable <LicenseTransaction> >(); CollectionAssert.AreEqual(transactions, resultContent.ToList()); }
public async Task GetLicenseTransactions_SessionTokenIsNull_UnauthorizedResult() { // Arrange var httpClientProvider = CreateTestHttpClientProvider(null); var userRepository = new Mock <IUserRepository>(); var logMock = new Mock <IServiceLogRepository>(); var controller = new LicensesController(httpClientProvider, userRepository.Object, logMock.Object) { Request = new HttpRequestMessage() }; int days = 1; // Act IHttpActionResult result = await controller.GetLicenseTransactions(days); // Assert Assert.IsInstanceOfType(result, typeof(UnauthorizedResult)); }