forked from ddrilling/AsbCloudServer
Added ClusterServiceTest
This commit is contained in:
parent
52c8f6a79b
commit
a16cada896
151
AsbCloudWebApi.Tests/ServicesTests/ClusterServiceTest.cs
Normal file
151
AsbCloudWebApi.Tests/ServicesTests/ClusterServiceTest.cs
Normal file
@ -0,0 +1,151 @@
|
||||
using AsbCloudDb.Model;
|
||||
using AsbCloudInfrastructure.Services;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
using AsbCloudApp.Services;
|
||||
|
||||
namespace AsbCloudWebApi.Tests.ServicesTests;
|
||||
|
||||
public class ClusterServiceTest
|
||||
{
|
||||
private readonly AsbCloudDbContext context;
|
||||
private readonly Mock<IWellService> wellService;
|
||||
|
||||
private readonly List<Deposit> deposits = new()
|
||||
{
|
||||
new Deposit { Id = 1, Caption = "Test deposit 1" },
|
||||
new Deposit { Id = 2, Caption = "Test deposit 2" },
|
||||
new Deposit { Id = 3, Caption = "Test deposit 3" },
|
||||
new Deposit { Id = 4, Caption = "Test deposit 4" },
|
||||
};
|
||||
|
||||
private readonly List<Cluster> clusters = new()
|
||||
{
|
||||
new Cluster { Id = 1, IdDeposit = 1 },
|
||||
new Cluster { Id = 2, IdDeposit = 1 },
|
||||
new Cluster { Id = 3, IdDeposit = 2 },
|
||||
new Cluster { Id = 4, IdDeposit = 2 },
|
||||
};
|
||||
|
||||
private readonly List<Well> wells = new()
|
||||
{
|
||||
new Well { Id = 1, IdCluster = 1 },
|
||||
new Well { Id = 2, IdCluster = 1 },
|
||||
new Well { Id = 3, IdCluster = 2 },
|
||||
new Well { Id = 4, IdCluster = 2 },
|
||||
};
|
||||
|
||||
private readonly List<Company> companies = new()
|
||||
{
|
||||
new Company { Id = 1 },
|
||||
new Company { Id = 2 }
|
||||
};
|
||||
|
||||
private readonly List<RelationCompanyWell> relations = new()
|
||||
{
|
||||
new RelationCompanyWell { IdCompany = 1, IdWell = 1 },
|
||||
new RelationCompanyWell { IdCompany = 1, IdWell = 2 }
|
||||
};
|
||||
|
||||
public ClusterServiceTest()
|
||||
{
|
||||
context = TestHelpter.MakeTestContext();
|
||||
wellService = new Mock<IWellService>();
|
||||
context.Deposits.RemoveRange(deposits);
|
||||
context.Clusters.RemoveRange(clusters);
|
||||
context.Wells.RemoveRange(wells);
|
||||
context.Companies.RemoveRange(companies);
|
||||
context.RemoveRange(relations);
|
||||
context.SaveChanges();
|
||||
context.Deposits.AddRange(deposits);
|
||||
context.Clusters.AddRange(clusters);
|
||||
context.Wells.AddRange(wells);
|
||||
context.Companies.AddRange(companies);
|
||||
context.AddRange(relations);
|
||||
context.SaveChanges();
|
||||
}
|
||||
|
||||
~ClusterServiceTest()
|
||||
{
|
||||
context.Deposits.RemoveRange(context.Deposits.Where(u => u.Id > 1));
|
||||
context.Clusters.RemoveRange(context.Clusters.Where(u => u.Id > 1));
|
||||
context.Wells.RemoveRange(context.Wells.Where(u => u.Id > 1));
|
||||
context.Companies.RemoveRange(context.Companies.Where(u => u.Id > 1));
|
||||
context.RemoveRange(relations);
|
||||
context.SaveChanges();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetDepositsAsync_returns_depositDtos()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsAsync(1);
|
||||
|
||||
Assert.True(dtos.Any());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetDepositsAsync_returns_one_deposit()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsAsync(1);
|
||||
|
||||
Assert.Equal(1, dtos.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetDepositsAsync_returns_one_deposit_with_two_companies()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsAsync(1);
|
||||
|
||||
Assert.Equal(2, dtos.FirstOrDefault()?.Clusters.Count());
|
||||
}
|
||||
[Fact]
|
||||
public async Task GetDrillParamsAsync_returns_depositDtos()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsDrillParamsAsync(1);
|
||||
|
||||
Assert.True(dtos.Any());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetDrillParamsAsync_returns_one_deposit()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsDrillParamsAsync(1);
|
||||
|
||||
Assert.Equal(1, dtos.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetDrillParamsAsync_returns_one_deposit_with_two_companies()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetDepositsDrillParamsAsync(1);
|
||||
|
||||
Assert.Equal(2, dtos.FirstOrDefault()?.Clusters.Count());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetClustersAsync_returns_dtos()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetClustersAsync(1);
|
||||
|
||||
Assert.True(dtos.Any());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetClustersAsync_returns_one_cluster()
|
||||
{
|
||||
var service = new ClusterService(context, wellService.Object);
|
||||
var dtos = await service.GetClustersAsync(1);
|
||||
|
||||
Assert.Equal(1, dtos.Count());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user