2021-07-21 15:29:19 +05:00
|
|
|
|
using AsbCloudApp.Data;
|
|
|
|
|
using AsbCloudApp.Services;
|
2022-04-11 18:00:34 +05:00
|
|
|
|
using AsbCloudWebApi.Controllers.SAUB;
|
2021-07-21 15:29:19 +05:00
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Moq;
|
|
|
|
|
using System;
|
2021-07-19 11:58:17 +05:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Security.Claims;
|
2021-12-07 13:44:00 +05:00
|
|
|
|
using System.Threading;
|
2022-01-06 11:03:11 +05:00
|
|
|
|
using System.Threading.Tasks;
|
2021-07-19 11:58:17 +05:00
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace AsbCloudWebApi.Tests.ControllersTests
|
|
|
|
|
{
|
2022-05-24 21:06:29 +05:00
|
|
|
|
//public class AnalyticsControllerTests
|
|
|
|
|
//{
|
|
|
|
|
// private readonly Mock<ITelemetryAnalyticsService> analyticsService;
|
|
|
|
|
// private readonly Mock<IWellService> wellService;
|
|
|
|
|
// private readonly TelemetryAnalyticsController controller;
|
|
|
|
|
// private readonly List<WellDepthToDayDto> depthToDayDtos;
|
|
|
|
|
|
|
|
|
|
// // fills class fields with data. Each test inside can change this data themselves for their needs
|
|
|
|
|
// public AnalyticsControllerTests()
|
|
|
|
|
// {
|
|
|
|
|
// analyticsService = new Mock<ITelemetryAnalyticsService>();
|
|
|
|
|
// wellService = new Mock<IWellService>();
|
|
|
|
|
|
|
|
|
|
// depthToDayDtos = new List<WellDepthToDayDto>()
|
|
|
|
|
// {
|
|
|
|
|
// new WellDepthToDayDto { WellDepth = 1000.0, BitDepth = 1000.0, Date = DateTime.Now },
|
|
|
|
|
// new WellDepthToDayDto { WellDepth = 2000.0, BitDepth = 2000.0, Date = DateTime.Now },
|
|
|
|
|
// new WellDepthToDayDto { WellDepth = 3000.0, BitDepth = 3000.0, Date = DateTime.Now }
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// analyticsService.Setup(s => s.GetWellDepthToDayAsync(It.IsAny<int>(), CancellationToken.None).Result)
|
|
|
|
|
// .Returns(depthToDayDtos);
|
|
|
|
|
|
|
|
|
|
// wellService.Setup(s => s.IsCompanyInvolvedInWell(It.IsAny<int>(), It.IsAny<int>()))
|
|
|
|
|
// .Returns(true);
|
|
|
|
|
|
|
|
|
|
// wellService.Setup(s => s.IsCompanyInvolvedInWellAsync(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<CancellationToken>()))
|
|
|
|
|
// .Returns(Task.FromResult(true));
|
|
|
|
|
|
|
|
|
|
// controller = new TelemetryAnalyticsController(analyticsService.Object,
|
|
|
|
|
// wellService.Object);
|
|
|
|
|
|
|
|
|
|
// controller.AddUser();
|
|
|
|
|
// }
|
2021-07-19 11:58:17 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_depth_to_day_analytics()
|
|
|
|
|
// {
|
|
|
|
|
// var result = controller.GetWellDepthToDayAsync(1).Result;
|
|
|
|
|
// var okResult = result as OkObjectResult;
|
|
|
|
|
|
|
|
|
|
// Assert.NotNull(okResult);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_correct_count_depth_to_day_analytics()
|
|
|
|
|
// {
|
|
|
|
|
// var result = controller.GetWellDepthToDayAsync(1).Result;
|
|
|
|
|
// var okResult = result as OkObjectResult;
|
|
|
|
|
// var resultCount = ((List<WellDepthToDayDto>)okResult.Value).Count;
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// Assert.Equal(3, resultCount);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_403_if_no_idCompany()
|
|
|
|
|
// {
|
|
|
|
|
// var emptyUserController = new TelemetryAnalyticsController(analyticsService.Object,
|
|
|
|
|
// wellService.Object);
|
|
|
|
|
|
|
|
|
|
// var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { }, "mock"));
|
|
|
|
|
|
|
|
|
|
// emptyUserController.ControllerContext = new ControllerContext()
|
|
|
|
|
// {
|
|
|
|
|
// HttpContext = new DefaultHttpContext() { User = user }
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// var result = emptyUserController.GetOperationsByWellAsync(1).Result;
|
|
|
|
|
// var forbidResult = result as ForbidResult;
|
|
|
|
|
|
|
|
|
|
// Assert.NotNull(forbidResult);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_403_if_user_doesnt_own_well()
|
|
|
|
|
// {
|
|
|
|
|
// var wellServiceReturnsFalse = new Mock<IWellService>();
|
|
|
|
|
|
|
|
|
|
// wellServiceReturnsFalse.Setup(s => s.IsCompanyInvolvedInWell(It.IsAny<int>(), It.IsAny<int>()))
|
|
|
|
|
// .Returns(false);
|
|
|
|
|
|
|
|
|
|
// var newControllerInstance = new TelemetryAnalyticsController(analyticsService.Object,
|
|
|
|
|
// wellServiceReturnsFalse.Object);
|
|
|
|
|
|
|
|
|
|
// var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
|
|
|
|
|
// {
|
|
|
|
|
// new Claim("idCompany", "1"),
|
|
|
|
|
// }, "mock"));
|
|
|
|
|
|
|
|
|
|
// newControllerInstance.ControllerContext = new ControllerContext()
|
|
|
|
|
// {
|
|
|
|
|
// HttpContext = new DefaultHttpContext() { User = user }
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// var result = newControllerInstance.GetWellDepthToDayAsync(1).Result;
|
|
|
|
|
// var forbidResult = result as ForbidResult;
|
|
|
|
|
|
|
|
|
|
// Assert.NotNull(forbidResult);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_204_if_dtos_is_empty()
|
|
|
|
|
// {
|
|
|
|
|
// var emptyAnalyticsService = new Mock<ITelemetryAnalyticsService>();
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// emptyAnalyticsService.Setup(s => s.GetWellDepthToDayAsync(It.IsAny<int>(), CancellationToken.None).Result)
|
|
|
|
|
// .Returns(new List<WellDepthToDayDto>());
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var newControllerInstance = new TelemetryAnalyticsController(emptyAnalyticsService.Object,
|
|
|
|
|
// wellService.Object);
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
|
|
|
|
|
// {
|
|
|
|
|
// new Claim("idCompany", "1"),
|
|
|
|
|
// }, "mock"));
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// newControllerInstance.ControllerContext = new ControllerContext()
|
|
|
|
|
// {
|
|
|
|
|
// HttpContext = new DefaultHttpContext() { User = user }
|
|
|
|
|
// };
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var result = newControllerInstance.GetWellDepthToDayAsync(1).Result;
|
|
|
|
|
// var notFoundResult = result as NoContentResult;
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// Assert.NotNull(notFoundResult);
|
|
|
|
|
// }
|
2021-07-19 11:58:17 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// [Fact]
|
|
|
|
|
// public void It_should_return_204_if_dtos_is_null()
|
|
|
|
|
// {
|
|
|
|
|
// var emptyAnalyticsService = new Mock<ITelemetryAnalyticsService>();
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// emptyAnalyticsService.Setup(s => s.GetWellDepthToDayAsync(It.IsAny<int>(), CancellationToken.None))
|
|
|
|
|
// .Returns(Task.FromResult<IEnumerable<WellDepthToDayDto>>(null));
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var newControllerInstance = new TelemetryAnalyticsController(emptyAnalyticsService.Object,
|
|
|
|
|
// wellService.Object);
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
|
|
|
|
|
// {
|
|
|
|
|
// new Claim("idCompany", "1"),
|
|
|
|
|
// }, "mock"));
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// newControllerInstance.ControllerContext = new ControllerContext()
|
|
|
|
|
// {
|
|
|
|
|
// HttpContext = new DefaultHttpContext() { User = user }
|
|
|
|
|
// };
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// var result = newControllerInstance.GetWellDepthToDayAsync(1).Result;
|
|
|
|
|
// var notFoundResult = result as NoContentResult;
|
2021-07-21 15:29:19 +05:00
|
|
|
|
|
2022-05-24 21:06:29 +05:00
|
|
|
|
// Assert.NotNull(notFoundResult);
|
|
|
|
|
// }
|
|
|
|
|
//}
|
2021-07-19 11:58:17 +05:00
|
|
|
|
}
|