forked from slavaxom9k/PIBD-23_Fomichev_V.S._MagicCarpet
исправлние в storage тестах
This commit is contained in:
@@ -45,5 +45,8 @@ public class SaleTourDataModel(string saleId, string tourId, int count, double p
|
|||||||
|
|
||||||
if (Count <= 0)
|
if (Count <= 0)
|
||||||
throw new ValidationException("Field Count is less than or equal to 0");
|
throw new ValidationException("Field Count is less than or equal to 0");
|
||||||
|
|
||||||
|
if (Price <= 0)
|
||||||
|
throw new ValidationException("Field Price is less than or equal to 0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class TourDataModel(string id, string tourName, string tourCountry, doubl
|
|||||||
public string TourName { get; private set; } = tourName;
|
public string TourName { get; private set; } = tourName;
|
||||||
public string TourCountry { get; private set; } = tourCountry;
|
public string TourCountry { get; private set; } = tourCountry;
|
||||||
public double Price { get; private set; } = price;
|
public double Price { get; private set; } = price;
|
||||||
public TourType Type { get; private set; } = tourType;
|
public TourType TourType { get; private set; } = tourType;
|
||||||
|
|
||||||
public void Validate()
|
public void Validate()
|
||||||
{
|
{
|
||||||
@@ -32,7 +32,7 @@ public class TourDataModel(string id, string tourName, string tourCountry, doubl
|
|||||||
throw new ValidationException("Field TourCountry is empty");
|
throw new ValidationException("Field TourCountry is empty");
|
||||||
if (Price <= 0)
|
if (Price <= 0)
|
||||||
throw new ValidationException("Field Price is less than or equal to 0");
|
throw new ValidationException("Field Price is less than or equal to 0");
|
||||||
if (Type == TourType.None)
|
if (TourType == TourType.None)
|
||||||
throw new ValidationException("Field Type is empty");
|
throw new ValidationException("Field Type is empty");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace MagicCarpetContracts.StoragesContracts;
|
|||||||
|
|
||||||
public interface ISalaryStorageContract
|
public interface ISalaryStorageContract
|
||||||
{
|
{
|
||||||
List<SalaryDataModel> GetList(DateTime startDate, DateTime endDate, string? employeeId = null);
|
List<SalaryDataModel> GetList(DateTime? startDate, DateTime? endDate, string? employeeId = null);
|
||||||
|
|
||||||
void AddElement(SalaryDataModel salaryDataModel);
|
void AddElement(SalaryDataModel salaryDataModel);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public class EmployeeStorageContract : IEmployeeStorageContract
|
|||||||
});
|
});
|
||||||
_mapper = new Mapper(config);
|
_mapper = new Mapper(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EmployeeDataModel> GetList(bool onlyActive = true, string? postId = null, DateTime? fromBirthDate = null, DateTime? toBirthDate = null, DateTime? fromEmploymentDate = null, DateTime? toEmploymentDate = null)
|
public List<EmployeeDataModel> GetList(bool onlyActive = true, string? postId = null, DateTime? fromBirthDate = null, DateTime? toBirthDate = null, DateTime? fromEmploymentDate = null, DateTime? toEmploymentDate = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -43,11 +44,11 @@ public class EmployeeStorageContract : IEmployeeStorageContract
|
|||||||
}
|
}
|
||||||
if (fromBirthDate is not null && toBirthDate is not null)
|
if (fromBirthDate is not null && toBirthDate is not null)
|
||||||
{
|
{
|
||||||
query = query.Where(x => x.BirthDate >= fromBirthDate && x.BirthDate <= toBirthDate);
|
query = query.Where(x => x.BirthDate >= DateTime.SpecifyKind(fromBirthDate ?? DateTime.UtcNow, DateTimeKind.Utc) && x.BirthDate <= DateTime.SpecifyKind(toBirthDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
}
|
}
|
||||||
if (fromEmploymentDate is not null && toEmploymentDate is not null)
|
if (fromEmploymentDate is not null && toEmploymentDate is not null)
|
||||||
{
|
{
|
||||||
query = query.Where(x => x.EmploymentDate >= fromEmploymentDate && x.EmploymentDate <= toEmploymentDate);
|
query = query.Where(x => x.EmploymentDate >= DateTime.SpecifyKind(fromEmploymentDate ?? DateTime.UtcNow, DateTimeKind.Utc) && x.EmploymentDate <= DateTime.SpecifyKind(toEmploymentDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
}
|
}
|
||||||
return [.. JoinPost(query).Select(x => _mapper.Map<EmployeeDataModel>(x))];
|
return [.. JoinPost(query).Select(x => _mapper.Map<EmployeeDataModel>(x))];
|
||||||
}
|
}
|
||||||
@@ -83,6 +84,7 @@ public class EmployeeStorageContract : IEmployeeStorageContract
|
|||||||
throw new StorageException(ex);
|
throw new StorageException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public EmployeeDataModel? GetElementByEmail(string email)
|
public EmployeeDataModel? GetElementByEmail(string email)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -155,7 +157,7 @@ public class EmployeeStorageContract : IEmployeeStorageContract
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Employee? GetEmployeeById(string id) => _dbContext.Employees.FirstOrDefault(x => x.Id == id && !x.IsDeleted);
|
private Employee? GetEmployeeById(string id) => AddPost(_dbContext.Employees.FirstOrDefault(x => x.Id == id && !x.IsDeleted));
|
||||||
|
|
||||||
private IQueryable<Employee> JoinPost(IQueryable<Employee> query)
|
private IQueryable<Employee> JoinPost(IQueryable<Employee> query)
|
||||||
=> query.GroupJoin(_dbContext.Posts.Where(x => x.IsActual), x => x.PostId, y => y.PostId, (x, y) => new { Employee = x, Post = y })
|
=> query.GroupJoin(_dbContext.Posts.Where(x => x.IsActual), x => x.PostId, y => y.PostId, (x, y) => new { Employee = x, Post = y })
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using MagicCarpetContracts.DataModels;
|
|||||||
using MagicCarpetContracts.Exceptions;
|
using MagicCarpetContracts.Exceptions;
|
||||||
using MagicCarpetContracts.StoragesContracts;
|
using MagicCarpetContracts.StoragesContracts;
|
||||||
using MagicCarpetDatabase.Models;
|
using MagicCarpetDatabase.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -21,6 +22,7 @@ public class SalaryStorageContract : ISalaryStorageContract
|
|||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
var config = new MapperConfiguration(cfg =>
|
var config = new MapperConfiguration(cfg =>
|
||||||
{
|
{
|
||||||
|
cfg.CreateMap<Employee, EmployeeDataModel>();
|
||||||
cfg.CreateMap<Salary, SalaryDataModel>();
|
cfg.CreateMap<Salary, SalaryDataModel>();
|
||||||
cfg.CreateMap<SalaryDataModel, Salary>()
|
cfg.CreateMap<SalaryDataModel, Salary>()
|
||||||
.ForMember(dest => dest.EmployeeSalary, opt => opt.MapFrom(src => src.Salary));
|
.ForMember(dest => dest.EmployeeSalary, opt => opt.MapFrom(src => src.Salary));
|
||||||
@@ -28,15 +30,17 @@ public class SalaryStorageContract : ISalaryStorageContract
|
|||||||
_mapper = new Mapper(config);
|
_mapper = new Mapper(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SalaryDataModel> GetList(DateTime startDate, DateTime endDate, string? employeeId = null)
|
public List<SalaryDataModel> GetList(DateTime? startDate, DateTime? endDate, string? employeeId = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var query = _dbContext.Salaries.Where(x => x.SalaryDate >= startDate && x.SalaryDate <= endDate);
|
var query = _dbContext.Salaries.Include(d => d.Employee).AsQueryable();
|
||||||
if (employeeId is not null)
|
if (startDate.HasValue)
|
||||||
{
|
query = query.Where(x => x.SalaryDate >= DateTime.SpecifyKind(startDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
|
if (endDate.HasValue)
|
||||||
|
query = query.Where(x => x.SalaryDate <= DateTime.SpecifyKind(endDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
|
if (employeeId != null)
|
||||||
query = query.Where(x => x.EmployeeId == employeeId);
|
query = query.Where(x => x.EmployeeId == employeeId);
|
||||||
}
|
|
||||||
return [.. query.Select(x => _mapper.Map<SalaryDataModel>(x))];
|
return [.. query.Select(x => _mapper.Map<SalaryDataModel>(x))];
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -22,18 +22,18 @@ public class SaleStorageContract : ISaleStorageContract
|
|||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
var config = new MapperConfiguration(cfg =>
|
var config = new MapperConfiguration(cfg =>
|
||||||
{
|
{
|
||||||
cfg.CreateMap<Client, ClientDataModel>();
|
cfg.CreateMap<Client, ClientDataModel>();
|
||||||
cfg.CreateMap<Tour, TourDataModel>();
|
cfg.CreateMap<Tour, TourDataModel>();
|
||||||
cfg.CreateMap<Employee, EmployeeDataModel>();
|
cfg.CreateMap<Employee, EmployeeDataModel>();
|
||||||
cfg.CreateMap<SaleTour, SaleTourDataModel>();
|
cfg.CreateMap<SaleTour, SaleTourDataModel>();
|
||||||
cfg.CreateMap<SaleTourDataModel, SaleTour>()
|
cfg.CreateMap<SaleTourDataModel, SaleTour>()
|
||||||
.ForMember(x => x.Tour, x => x.Ignore());
|
.ForMember(x => x.Tour, x => x.Ignore());
|
||||||
cfg.CreateMap<Sale, SaleDataModel>();
|
cfg.CreateMap<Sale, SaleDataModel>();
|
||||||
cfg.CreateMap<SaleDataModel, Sale>()
|
cfg.CreateMap<SaleDataModel, Sale>()
|
||||||
.ForMember(x => x.IsCancel, x => x.MapFrom(src => false))
|
.ForMember(x => x.IsCancel, x => x.MapFrom(src => false))
|
||||||
.ForMember(x => x.SaleTours, x => x.MapFrom(src => src.Tours))
|
.ForMember(x => x.SaleTours, x => x.MapFrom(src => src.Tours))
|
||||||
.ForMember(x => x.Employee, x => x.Ignore())
|
.ForMember(x => x.Employee, x => x.Ignore())
|
||||||
.ForMember(x => x.Client, x => x.Ignore());
|
.ForMember(x => x.Client, x => x.Ignore());
|
||||||
});
|
});
|
||||||
_mapper = new Mapper(config);
|
_mapper = new Mapper(config);
|
||||||
}
|
}
|
||||||
@@ -42,23 +42,23 @@ public class SaleStorageContract : ISaleStorageContract
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var query = _dbContext.Sales.Include(x => x.Client).Include(x => x.Employee).Include(x => x.SaleTours)!.ThenInclude(x => x.Tour).AsQueryable();
|
var query = _dbContext.Sales
|
||||||
if (startDate is not null && endDate is not null)
|
.Include(r => r.Employee)
|
||||||
{
|
.Include(r => r.Client)
|
||||||
query = query.Where(x => x.SaleDate >= startDate && x.SaleDate < endDate);
|
.Include(r => r.SaleTours)!
|
||||||
}
|
.ThenInclude(d => d.Tour)
|
||||||
if (employeeId is not null)
|
.AsQueryable();
|
||||||
{
|
if (startDate.HasValue)
|
||||||
|
query = query.Where(x => x.SaleDate >= DateTime.SpecifyKind(startDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
|
if (endDate.HasValue)
|
||||||
|
query = query.Where(x => x.SaleDate <= DateTime.SpecifyKind(endDate ?? DateTime.UtcNow, DateTimeKind.Utc));
|
||||||
|
if (employeeId != null)
|
||||||
query = query.Where(x => x.EmployeeId == employeeId);
|
query = query.Where(x => x.EmployeeId == employeeId);
|
||||||
}
|
if (clientId != null)
|
||||||
if (clientId is not null)
|
|
||||||
{
|
|
||||||
query = query.Where(x => x.ClientId == clientId);
|
query = query.Where(x => x.ClientId == clientId);
|
||||||
}
|
if (tourId != null)
|
||||||
if (tourId is not null)
|
|
||||||
{
|
|
||||||
query = query.Where(x => x.SaleTours!.Any(y => y.TourId == tourId));
|
query = query.Where(x => x.SaleTours!.Any(y => y.TourId == tourId));
|
||||||
}
|
var s = query.ToList();
|
||||||
return [.. query.Select(x => _mapper.Map<SaleDataModel>(x))];
|
return [.. query.Select(x => _mapper.Map<SaleDataModel>(x))];
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ public class TourStorageContract : ITourStorageContract
|
|||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
var config = new MapperConfiguration(cfg =>
|
var config = new MapperConfiguration(cfg =>
|
||||||
{
|
{
|
||||||
cfg.CreateMap<Tour, TourDataModel>()
|
cfg.CreateMap<Tour, TourDataModel>();
|
||||||
.ConstructUsing(src => new TourDataModel(src.Id, src.TourName, src.TourCountry, src.Price, src.Type));
|
|
||||||
cfg.CreateMap<TourDataModel, Tour>();
|
cfg.CreateMap<TourDataModel, Tour>();
|
||||||
cfg.CreateMap<TourHistory, TourHistoryDataModel>();
|
cfg.CreateMap<TourHistory, TourHistoryDataModel>();
|
||||||
});
|
});
|
||||||
_mapper = new Mapper(config);
|
_mapper = new Mapper(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<TourDataModel> GetList()
|
public List<TourDataModel> GetList()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -129,7 +129,7 @@ public class TourStorageContract : ITourStorageContract
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (DbUpdateException ex) when (ex.InnerException is PostgresException { ConstraintName: "IX_Tours_TourName_IsDeleted" })
|
catch (DbUpdateException ex) when (ex.InnerException is PostgresException { ConstraintName: "IX_Tours_TourName" })
|
||||||
{
|
{
|
||||||
_dbContext.ChangeTracker.Clear();
|
_dbContext.ChangeTracker.Clear();
|
||||||
throw new ElementExistsException("TourName", tourDataModel.TourName);
|
throw new ElementExistsException("TourName", tourDataModel.TourName);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class Tour
|
|||||||
public required string TourName { get; set; }
|
public required string TourName { get; set; }
|
||||||
public string? TourCountry { get; set; }
|
public string? TourCountry { get; set; }
|
||||||
public double Price { get; set; }
|
public double Price { get; set; }
|
||||||
public required TourType Type { get; set; }
|
public required TourType TourType { get; set; }
|
||||||
[ForeignKey("TourId")]
|
[ForeignKey("TourId")]
|
||||||
public List<SaleTour>? SaleTours { get; set; }
|
public List<SaleTour>? SaleTours { get; set; }
|
||||||
[ForeignKey("TourId")]
|
[ForeignKey("TourId")]
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ internal class TourBusinessLogicContractTests
|
|||||||
.Callback((TourDataModel x) =>
|
.Callback((TourDataModel x) =>
|
||||||
{
|
{
|
||||||
flag = x.Id == record.Id && x.TourName == record.TourName && x.TourCountry == record.TourCountry
|
flag = x.Id == record.Id && x.TourName == record.TourName && x.TourCountry == record.TourCountry
|
||||||
&& x.Price == record.Price && x.Type == record.Type;
|
&& x.Price == record.Price && x.TourType == record.TourType;
|
||||||
});
|
});
|
||||||
//Act
|
//Act
|
||||||
_tourBusinessLogicContract.InsertTour(record);
|
_tourBusinessLogicContract.InsertTour(record);
|
||||||
@@ -304,7 +304,7 @@ internal class TourBusinessLogicContractTests
|
|||||||
.Callback((TourDataModel x) =>
|
.Callback((TourDataModel x) =>
|
||||||
{
|
{
|
||||||
flag = x.Id == record.Id && x.TourName == record.TourName && x.TourCountry == record.TourCountry
|
flag = x.Id == record.Id && x.TourName == record.TourName && x.TourCountry == record.TourCountry
|
||||||
&& x.Price == record.Price && x.Type == record.Type;
|
&& x.Price == record.Price && x.TourType == record.TourType;
|
||||||
});
|
});
|
||||||
//Act
|
//Act
|
||||||
_tourBusinessLogicContract.UpdateTour(record);
|
_tourBusinessLogicContract.UpdateTour(record);
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ internal class TourDataModelTests
|
|||||||
Assert.That(tour.TourName, Is.EqualTo(tourName));
|
Assert.That(tour.TourName, Is.EqualTo(tourName));
|
||||||
Assert.That(tour.TourCountry, Is.EqualTo(tourCountry));
|
Assert.That(tour.TourCountry, Is.EqualTo(tourCountry));
|
||||||
Assert.That(tour.Price, Is.EqualTo(price));
|
Assert.That(tour.Price, Is.EqualTo(price));
|
||||||
Assert.That(tour.Type, Is.EqualTo(tourType));
|
Assert.That(tour.TourType, Is.EqualTo(tourType));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ internal static class MagicCarpetDbContextExtensions
|
|||||||
return post;
|
return post;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Tour InsertTourToDatabaseAndReturn(this MagicCarpetDbContext dbContext, string? id = null, string tourName = "test", TourType tourType = TourType.Beach, double price = 1)
|
public static Tour InsertTourToDatabaseAndReturn(this MagicCarpetDbContext dbContext, string? id = null, string tourName = "test", string tourCountry = "country", TourType tourType = TourType.Beach, double price = 1)
|
||||||
{
|
{
|
||||||
var tour = new Tour() { Id = id ?? Guid.NewGuid().ToString(), TourName = tourName, Type = tourType, Price = price };
|
var tour = new Tour() { Id = id ?? Guid.NewGuid().ToString(), TourName = tourName, TourCountry = tourCountry, TourType = tourType, Price = price };
|
||||||
dbContext.Tours.Add(tour);
|
dbContext.Tours.Add(tour);
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
return tour;
|
return tour;
|
||||||
@@ -52,14 +52,14 @@ internal static class MagicCarpetDbContextExtensions
|
|||||||
return salary;
|
return salary;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Sale InsertSaleToDatabaseAndReturn(this MagicCarpetDbContext dbContext, string employeeId, string? clientId = null, DateTime? saleDate = null, double sum = 1, DiscountType discountType = DiscountType.OnSale, double discount = 0, bool isCancel = false, List<(string, int, double)>? tours = null)
|
public static Sale InsertSaleToDatabaseAndReturn(this MagicCarpetDbContext dbContext, string employeeId, string? clientId = null, DateTime? saleDate = null, double sum = 1, DiscountType discountType = DiscountType.None, double discount = 0, bool isCancel = false, List<(string, int, double)>? tours = null)
|
||||||
{
|
{
|
||||||
var sale = new Sale() { EmployeeId = employeeId, ClientId = clientId, SaleDate = saleDate ?? DateTime.UtcNow, Sum = sum, DiscountType = discountType, Discount = discount, IsCancel = isCancel, SaleTours = [] };
|
var sale = new Sale() { EmployeeId = employeeId, ClientId = clientId, SaleDate = saleDate ?? DateTime.UtcNow, Sum = sum, DiscountType = discountType, Discount = discount, IsCancel = isCancel, SaleTours = [] };
|
||||||
if (tours is not null)
|
if (tours is not null)
|
||||||
{
|
{
|
||||||
foreach (var elem in tours)
|
foreach (var elem in tours)
|
||||||
{
|
{
|
||||||
sale.SaleTours.Add(new SaleTour { TourId = elem.Item1, SaleId = sale.Id, Count = elem.Item2, Price = elem.Item3 });
|
sale.SaleTours.Add(new SaleTour { TourId = elem.Item1, SaleId = sale.Id, Count = elem.Item2, Price = elem.Item3 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dbContext.Sales.Add(sale);
|
dbContext.Sales.Add(sale);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using MagicCarpetContracts.Exceptions;
|
using MagicCarpetContracts.Exceptions;
|
||||||
using MagicCarpetDatabase.Implementations;
|
using MagicCarpetDatabase.Implementations;
|
||||||
using MagicCarpetDatabase.Models;
|
using MagicCarpetDatabase.Models;
|
||||||
|
using MagicCarpetTests.Infrastructure;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -25,19 +26,19 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
[TearDown]
|
[TearDown]
|
||||||
public void TearDown()
|
public void TearDown()
|
||||||
{
|
{
|
||||||
MagicCarpetDbContext.Database.ExecuteSqlRaw("TRUNCATE \"Employees\"CASCADE; ");
|
MagicCarpetDbContext.RemoveEmployeesFromDatabase();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_WhenHaveRecords_Test()
|
public void Try_GetList_WhenHaveRecords_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com");
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com");
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com");
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com");
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com");
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com");
|
||||||
var list = _employeeStorageContract.GetList();
|
var list = _employeeStorageContract.GetList();
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(3));
|
Assert.That(list, Has.Count.EqualTo(3));
|
||||||
AssertElement(list.First(), employee);
|
AssertElement(list.First(x => x.Id == employee.Id), employee);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -52,9 +53,9 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_GetList_ByPostId_Test()
|
public void Try_GetList_ByPostId_Test()
|
||||||
{
|
{
|
||||||
var postId = Guid.NewGuid().ToString();
|
var postId = Guid.NewGuid().ToString();
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", postId);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", postId);
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", postId);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", postId);
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com");
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com");
|
||||||
var list = _employeeStorageContract.GetList(postId: postId);
|
var list = _employeeStorageContract.GetList(postId: postId);
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(2));
|
Assert.That(list, Has.Count.EqualTo(2));
|
||||||
@@ -64,10 +65,10 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_ByBirthDate_Test()
|
public void Try_GetList_ByBirthDate_Test()
|
||||||
{
|
{
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-25));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-25));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-21));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-21));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-20));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-20));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-19));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-19));
|
||||||
var list = _employeeStorageContract.GetList(fromBirthDate: DateTime.UtcNow.AddYears(-21).AddMinutes(-1), toBirthDate: DateTime.UtcNow.AddYears(-20).AddMinutes(1));
|
var list = _employeeStorageContract.GetList(fromBirthDate: DateTime.UtcNow.AddYears(-21).AddMinutes(-1), toBirthDate: DateTime.UtcNow.AddYears(-20).AddMinutes(1));
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(2));
|
Assert.That(list, Has.Count.EqualTo(2));
|
||||||
@@ -76,10 +77,10 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_ByEmploymentDate_Test()
|
public void Try_GetList_ByEmploymentDate_Test()
|
||||||
{
|
{
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(-2));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(-1));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(-1));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(1));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(1));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(2));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", employmentDate: DateTime.UtcNow.AddDays(2));
|
||||||
var list = _employeeStorageContract.GetList(fromEmploymentDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-1), toEmploymentDate: DateTime.UtcNow.AddDays(1).AddMinutes(1));
|
var list = _employeeStorageContract.GetList(fromEmploymentDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-1), toEmploymentDate: DateTime.UtcNow.AddDays(1).AddMinutes(1));
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(2));
|
Assert.That(list, Has.Count.EqualTo(2));
|
||||||
@@ -89,12 +90,11 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_GetList_ByAllParameters_Test()
|
public void Try_GetList_ByAllParameters_Test()
|
||||||
{
|
{
|
||||||
var postId = Guid.NewGuid().ToString();
|
var postId = Guid.NewGuid().ToString();
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-25), employmentDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 1", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-25), employmentDate: DateTime.UtcNow.AddDays(-2));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-22), employmentDate: DateTime.UtcNow.AddDays(-1));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 2", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-22), employmentDate: DateTime.UtcNow.AddDays(-1));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-21), employmentDate: DateTime.UtcNow.AddDays(-1));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 3", "abc@gmail.com", postId, birthDate: DateTime.UtcNow.AddYears(-21), employmentDate: DateTime.UtcNow.AddDays(-1));
|
||||||
InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-20), employmentDate: DateTime.UtcNow.AddDays(1));
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString(), "fio 4", "abc@gmail.com", birthDate: DateTime.UtcNow.AddYears(-20), employmentDate: DateTime.UtcNow.AddDays(1));
|
||||||
var list = _employeeStorageContract.GetList(postId: postId, fromBirthDate: DateTime.UtcNow.AddYears(-21).AddMinutes(-1), toBirthDate: DateTime.UtcNow.AddYears(-20).AddMinutes(1),
|
var list = _employeeStorageContract.GetList(postId: postId, fromBirthDate: DateTime.UtcNow.AddYears(-21).AddMinutes(-1), toBirthDate: DateTime.UtcNow.AddYears(-20).AddMinutes(1), fromEmploymentDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-1), toEmploymentDate: DateTime.UtcNow.AddDays(1).AddMinutes(1));
|
||||||
fromEmploymentDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-1), toEmploymentDate: DateTime.UtcNow.AddDays(1).AddMinutes(1));
|
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(1));
|
Assert.That(list, Has.Count.EqualTo(1));
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,7 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementById_WhenHaveRecord_Test()
|
public void Try_GetElementById_WhenHaveRecord_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
AssertElement(_employeeStorageContract.GetElementById(employee.Id), employee);
|
AssertElement(_employeeStorageContract.GetElementById(employee.Id), employee);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementByFIO_WhenHaveRecord_Test()
|
public void Try_GetElementByFIO_WhenHaveRecord_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
AssertElement(_employeeStorageContract.GetElementByFIO(employee.FIO), employee);
|
AssertElement(_employeeStorageContract.GetElementByFIO(employee.FIO), employee);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,14 +130,14 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
{
|
{
|
||||||
var employee = CreateModel(Guid.NewGuid().ToString());
|
var employee = CreateModel(Guid.NewGuid().ToString());
|
||||||
_employeeStorageContract.AddElement(employee);
|
_employeeStorageContract.AddElement(employee);
|
||||||
AssertElement(GetEmployeeFromDatabase(employee.Id), employee);
|
AssertElement(MagicCarpetDbContext.GetEmployeeFromDatabaseById(employee.Id), employee);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_AddElement_WhenHaveRecordWithSameId_Test()
|
public void Try_AddElement_WhenHaveRecordWithSameId_Test()
|
||||||
{
|
{
|
||||||
var employee = CreateModel(Guid.NewGuid().ToString());
|
var employee = CreateModel(Guid.NewGuid().ToString());
|
||||||
InsertEmployeeToDatabaseAndReturn(employee.Id);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(employee.Id);
|
||||||
Assert.That(() => _employeeStorageContract.AddElement(employee), Throws.TypeOf<ElementExistsException>());
|
Assert.That(() => _employeeStorageContract.AddElement(employee), Throws.TypeOf<ElementExistsException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,9 +145,9 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_UpdElement_Test()
|
public void Try_UpdElement_Test()
|
||||||
{
|
{
|
||||||
var employee = CreateModel(Guid.NewGuid().ToString(), "New Fio");
|
var employee = CreateModel(Guid.NewGuid().ToString(), "New Fio");
|
||||||
InsertEmployeeToDatabaseAndReturn(employee.Id);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(employee.Id);
|
||||||
_employeeStorageContract.UpdElement(employee);
|
_employeeStorageContract.UpdElement(employee);
|
||||||
AssertElement(GetEmployeeFromDatabase(employee.Id), employee);
|
AssertElement(MagicCarpetDbContext.GetEmployeeFromDatabaseById(employee.Id), employee);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -160,16 +160,16 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_UpdElement_WhenNoRecordWasDeleted_Test()
|
public void Try_UpdElement_WhenNoRecordWasDeleted_Test()
|
||||||
{
|
{
|
||||||
var employee = CreateModel(Guid.NewGuid().ToString());
|
var employee = CreateModel(Guid.NewGuid().ToString());
|
||||||
InsertEmployeeToDatabaseAndReturn(employee.Id, isDeleted: true);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(employee.Id, isDeleted: true);
|
||||||
Assert.That(() => _employeeStorageContract.UpdElement(employee), Throws.TypeOf<ElementNotFoundException>());
|
Assert.That(() => _employeeStorageContract.UpdElement(employee), Throws.TypeOf<ElementNotFoundException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_DelElement_Test()
|
public void Try_DelElement_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
_employeeStorageContract.DelElement(employee.Id);
|
_employeeStorageContract.DelElement(employee.Id);
|
||||||
var element = GetEmployeeFromDatabase(employee.Id);
|
var element = MagicCarpetDbContext.GetEmployeeFromDatabaseById(employee.Id);
|
||||||
Assert.That(element, Is.Not.Null);
|
Assert.That(element, Is.Not.Null);
|
||||||
Assert.That(element.IsDeleted);
|
Assert.That(element.IsDeleted);
|
||||||
}
|
}
|
||||||
@@ -184,18 +184,10 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_DelElement_WhenNoRecordWasDeleted_Test()
|
public void Try_DelElement_WhenNoRecordWasDeleted_Test()
|
||||||
{
|
{
|
||||||
var employee = CreateModel(Guid.NewGuid().ToString());
|
var employee = CreateModel(Guid.NewGuid().ToString());
|
||||||
InsertEmployeeToDatabaseAndReturn(employee.Id, isDeleted: true);
|
MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(employee.Id, isDeleted: true);
|
||||||
Assert.That(() => _employeeStorageContract.DelElement(employee.Id), Throws.TypeOf<ElementNotFoundException>());
|
Assert.That(() => _employeeStorageContract.DelElement(employee.Id), Throws.TypeOf<ElementNotFoundException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Employee InsertEmployeeToDatabaseAndReturn(string id, string fio = "test", string email = "abc@mail.ru",string ? postId = null, DateTime? birthDate = null, DateTime? employmentDate = null, bool isDeleted = false)
|
|
||||||
{
|
|
||||||
var employee = new Employee() { Id = id, FIO = fio, Email = email, PostId = postId ?? Guid.NewGuid().ToString(), BirthDate = birthDate ?? DateTime.UtcNow.AddYears(-20), EmploymentDate = employmentDate ?? DateTime.UtcNow, IsDeleted = isDeleted };
|
|
||||||
MagicCarpetDbContext.Employees.Add(employee);
|
|
||||||
MagicCarpetDbContext.SaveChanges();
|
|
||||||
return employee;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void AssertElement(EmployeeDataModel? actual, Employee expected)
|
private static void AssertElement(EmployeeDataModel? actual, Employee expected)
|
||||||
{
|
{
|
||||||
Assert.That(actual, Is.Not.Null);
|
Assert.That(actual, Is.Not.Null);
|
||||||
@@ -212,9 +204,7 @@ class EmployeeStorageContractTests : BaseStorageContractTest
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static EmployeeDataModel CreateModel(string id, string fio = "fio", string email = "abc@mail.ru", string? postId = null, DateTime? birthDate = null, DateTime? employmentDate = null, bool isDeleted = false) =>
|
private static EmployeeDataModel CreateModel(string id, string fio = "fio", string email = "abc@mail.ru", string? postId = null, DateTime? birthDate = null, DateTime? employmentDate = null, bool isDeleted = false) =>
|
||||||
new(id, fio, email, postId ?? Guid.NewGuid().ToString(), birthDate ?? DateTime.UtcNow.AddYears(-20), employmentDate ?? DateTime.UtcNow, isDeleted);
|
new(id, fio, email, postId ?? Guid.NewGuid().ToString(), birthDate ?? DateTime.UtcNow.AddYears(-20), employmentDate ?? DateTime.UtcNow, isDeleted);
|
||||||
|
|
||||||
private Employee? GetEmployeeFromDatabase(string id) => MagicCarpetDbContext.Employees.FirstOrDefault(x => x.Id == id);
|
|
||||||
|
|
||||||
private static void AssertElement(Employee? actual, EmployeeDataModel expected)
|
private static void AssertElement(Employee? actual, EmployeeDataModel expected)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using MagicCarpetContracts.DataModels;
|
using MagicCarpetContracts.DataModels;
|
||||||
using MagicCarpetDatabase.Implementations;
|
using MagicCarpetDatabase.Implementations;
|
||||||
using MagicCarpetDatabase.Models;
|
using MagicCarpetDatabase.Models;
|
||||||
|
using MagicCarpetTests.Infrastructure;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -20,26 +21,26 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
public void SetUp()
|
public void SetUp()
|
||||||
{
|
{
|
||||||
_salaryStorageContract = new SalaryStorageContract(MagicCarpetDbContext);
|
_salaryStorageContract = new SalaryStorageContract(MagicCarpetDbContext);
|
||||||
_employee = InsertEmployeeToDatabaseAndReturn();
|
_employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn();
|
||||||
}
|
}
|
||||||
|
|
||||||
[TearDown]
|
[TearDown]
|
||||||
public void TearDown()
|
public void TearDown()
|
||||||
{
|
{
|
||||||
MagicCarpetDbContext.Database.ExecuteSqlRaw("TRUNCATE \"Salaries\" CASCADE;");
|
MagicCarpetDbContext.RemoveSalariesFromDatabase();
|
||||||
MagicCarpetDbContext.Database.ExecuteSqlRaw("TRUNCATE \"Employees\" CASCADE;");
|
MagicCarpetDbContext.RemoveEmployeesFromDatabase();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_WhenHaveRecords_Test()
|
public void Try_GetList_WhenHaveRecords_Test()
|
||||||
{
|
{
|
||||||
var salary = InsertSalaryToDatabaseAndReturn(_employee.Id, employeeSalary: 100);
|
var salary = MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, employeeSalary: 100);
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id);
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id);
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id);
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id);
|
||||||
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-10), DateTime.UtcNow.AddDays(10));
|
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-10), DateTime.UtcNow.AddDays(10));
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(3));
|
Assert.That(list, Has.Count.EqualTo(3));
|
||||||
AssertElement(list.First(), salary);
|
AssertElement(list.Single(x => x.Salary == salary.EmployeeSalary), salary);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -53,12 +54,12 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_OnlyInDatePeriod_Test()
|
public void Try_GetList_OnlyInDatePeriod_Test()
|
||||||
{
|
{
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(-5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
||||||
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1));
|
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1));
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.Multiple(() =>
|
Assert.Multiple(() =>
|
||||||
@@ -70,10 +71,10 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_ByEmployee_Test()
|
public void Try_GetList_ByEmployee_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn("name 2");
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn("name 2");
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id);
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id);
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id);
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id);
|
||||||
InsertSalaryToDatabaseAndReturn(employee.Id);
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(employee.Id);
|
||||||
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1), _employee.Id);
|
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1), _employee.Id);
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.Multiple(() =>
|
Assert.Multiple(() =>
|
||||||
@@ -86,13 +87,13 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_ByEmployeeOnlyInDatePeriod_Test()
|
public void Try_GetList_ByEmployeeOnlyInDatePeriod_Test()
|
||||||
{
|
{
|
||||||
var employee = InsertEmployeeToDatabaseAndReturn("name 2");
|
var employee = MagicCarpetDbContext.InsertEmployeeToDatabaseAndReturn(fio: "name 2");
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
||||||
InsertSalaryToDatabaseAndReturn(employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(employee.Id, salaryDate: DateTime.UtcNow.AddDays(-1).AddMinutes(5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
||||||
InsertSalaryToDatabaseAndReturn(employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(employee.Id, salaryDate: DateTime.UtcNow.AddDays(1).AddMinutes(-5));
|
||||||
InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
MagicCarpetDbContext.InsertSalaryToDatabaseAndReturn(_employee.Id, salaryDate: DateTime.UtcNow.AddDays(-2));
|
||||||
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1), _employee.Id);
|
var list = _salaryStorageContract.GetList(DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1), _employee.Id);
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.Multiple(() =>
|
Assert.Multiple(() =>
|
||||||
@@ -107,23 +108,7 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
{
|
{
|
||||||
var salary = CreateModel(_employee.Id);
|
var salary = CreateModel(_employee.Id);
|
||||||
_salaryStorageContract.AddElement(salary);
|
_salaryStorageContract.AddElement(salary);
|
||||||
AssertElement(GetSalaryFromDatabaseByEmployeeId(_employee.Id), salary);
|
AssertElement(MagicCarpetDbContext.GetSalariesFromDatabaseByEmployeeId(_employee.Id).First(), salary);
|
||||||
}
|
|
||||||
|
|
||||||
private Employee InsertEmployeeToDatabaseAndReturn(string employeeFIO = "fio", string employeeEmail = "abc@mail.ru")
|
|
||||||
{
|
|
||||||
var employee = new Employee() { Id = Guid.NewGuid().ToString(), PostId = Guid.NewGuid().ToString(), FIO = employeeFIO, Email = employeeEmail, IsDeleted = false };
|
|
||||||
MagicCarpetDbContext.Employees.Add(employee);
|
|
||||||
MagicCarpetDbContext.SaveChanges();
|
|
||||||
return employee;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Salary InsertSalaryToDatabaseAndReturn(string employeeId, double employeeSalary = 1, DateTime? salaryDate = null)
|
|
||||||
{
|
|
||||||
var salary = new Salary() { EmployeeId = employeeId, EmployeeSalary = employeeSalary, SalaryDate = salaryDate ?? DateTime.UtcNow };
|
|
||||||
MagicCarpetDbContext.Salaries.Add(salary);
|
|
||||||
MagicCarpetDbContext.SaveChanges();
|
|
||||||
return salary;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void AssertElement(SalaryDataModel? actual, Salary expected)
|
private static void AssertElement(SalaryDataModel? actual, Salary expected)
|
||||||
@@ -139,8 +124,6 @@ internal class SalaryStorageContractTests : BaseStorageContractTest
|
|||||||
private static SalaryDataModel CreateModel(string employeeId, double employeeSalary = 1, DateTime? salaryDate = null)
|
private static SalaryDataModel CreateModel(string employeeId, double employeeSalary = 1, DateTime? salaryDate = null)
|
||||||
=> new(employeeId, salaryDate ?? DateTime.UtcNow, employeeSalary);
|
=> new(employeeId, salaryDate ?? DateTime.UtcNow, employeeSalary);
|
||||||
|
|
||||||
private Salary? GetSalaryFromDatabaseByEmployeeId(string id) => MagicCarpetDbContext.Salaries.FirstOrDefault(x => x.EmployeeId == id);
|
|
||||||
|
|
||||||
private static void AssertElement(Salary? actual, SalaryDataModel expected)
|
private static void AssertElement(Salary? actual, SalaryDataModel expected)
|
||||||
{
|
{
|
||||||
Assert.That(actual, Is.Not.Null);
|
Assert.That(actual, Is.Not.Null);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using MagicCarpetContracts.DataModels;
|
using MagicCarpetContracts.DataModels;
|
||||||
using MagicCarpetContracts.Enums;
|
using MagicCarpetContracts.Enums;
|
||||||
using MagicCarpetContracts.Exceptions;
|
using MagicCarpetContracts.Exceptions;
|
||||||
using MagicCarpetDatabase.Implementations;
|
using MagicCarpetDatabase.Implementations;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using MagicCarpetContracts.Enums;
|
|||||||
using MagicCarpetContracts.Exceptions;
|
using MagicCarpetContracts.Exceptions;
|
||||||
using MagicCarpetDatabase.Implementations;
|
using MagicCarpetDatabase.Implementations;
|
||||||
using MagicCarpetDatabase.Models;
|
using MagicCarpetDatabase.Models;
|
||||||
|
using MagicCarpetTests.Infrastructure;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Moq;
|
using Moq;
|
||||||
using System;
|
using System;
|
||||||
@@ -28,15 +29,15 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
[TearDown]
|
[TearDown]
|
||||||
public void TearDown()
|
public void TearDown()
|
||||||
{
|
{
|
||||||
MagicCarpetDbContext.Database.ExecuteSqlRaw("TRUNCATE \"Tours\" CASCADE;");
|
MagicCarpetDbContext.RemoveToursFromDatabase();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetList_WhenHaveRecords_Test()
|
public void Try_GetList_WhenHaveRecords_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 2");
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 2");
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 3");
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 3");
|
||||||
var list = _tourStorageContract.GetList();
|
var list = _tourStorageContract.GetList();
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(3));
|
Assert.That(list, Has.Count.EqualTo(3));
|
||||||
@@ -54,10 +55,10 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetHistoryByTourId_WhenHaveRecords_Test()
|
public void Try_GetHistoryByTourId_WhenHaveRecords_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 20, DateTime.UtcNow.AddDays(-1));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 20, DateTime.UtcNow.AddDays(-1));
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 30, DateTime.UtcNow.AddMinutes(-10));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 30, DateTime.UtcNow.AddMinutes(-10));
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 40, DateTime.UtcNow.AddDays(1));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 40, DateTime.UtcNow.AddDays(1));
|
||||||
var list = _tourStorageContract.GetHistoryByTourId(tour.Id);
|
var list = _tourStorageContract.GetHistoryByTourId(tour.Id);
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(3));
|
Assert.That(list, Has.Count.EqualTo(3));
|
||||||
@@ -66,10 +67,10 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetHistoryByTourId_WhenNoRecords_Test()
|
public void Try_GetHistoryByTourId_WhenNoRecords_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), "name 1");
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 20, DateTime.UtcNow.AddDays(-1));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 20, DateTime.UtcNow.AddDays(-1));
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 30, DateTime.UtcNow.AddMinutes(-10));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 30, DateTime.UtcNow.AddMinutes(-10));
|
||||||
InsertTourHistoryToDatabaseAndReturn(tour.Id, 40, DateTime.UtcNow.AddDays(1));
|
MagicCarpetDbContext.InsertTourHistoryToDatabaseAndReturn(tour.Id, 40, DateTime.UtcNow.AddDays(1));
|
||||||
var list = _tourStorageContract.GetHistoryByTourId(Guid.NewGuid().ToString());
|
var list = _tourStorageContract.GetHistoryByTourId(Guid.NewGuid().ToString());
|
||||||
Assert.That(list, Is.Not.Null);
|
Assert.That(list, Is.Not.Null);
|
||||||
Assert.That(list, Has.Count.EqualTo(0));
|
Assert.That(list, Has.Count.EqualTo(0));
|
||||||
@@ -78,28 +79,28 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementById_WhenHaveRecord_Test()
|
public void Try_GetElementById_WhenHaveRecord_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
AssertElement(_tourStorageContract.GetElementById(tour.Id), tour);
|
AssertElement(_tourStorageContract.GetElementById(tour.Id), tour);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementById_WhenNoRecord_Test()
|
public void Try_GetElementById_WhenNoRecord_Test()
|
||||||
{
|
{
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
Assert.That(() => _tourStorageContract.GetElementById(Guid.NewGuid().ToString()), Is.Null);
|
Assert.That(() => _tourStorageContract.GetElementById(Guid.NewGuid().ToString()), Is.Null);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementByName_WhenHaveRecord_Test()
|
public void Try_GetElementByName_WhenHaveRecord_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
AssertElement(_tourStorageContract.GetElementByName(tour.TourName), tour);
|
AssertElement(_tourStorageContract.GetElementByName(tour.TourName), tour);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_GetElementByName_WhenNoRecord_Test()
|
public void Try_GetElementByName_WhenNoRecord_Test()
|
||||||
{
|
{
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
Assert.That(() => _tourStorageContract.GetElementByName("name"), Is.Null);
|
Assert.That(() => _tourStorageContract.GetElementByName("name"), Is.Null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,14 +109,14 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
{
|
{
|
||||||
var tour = CreateModel(Guid.NewGuid().ToString());
|
var tour = CreateModel(Guid.NewGuid().ToString());
|
||||||
_tourStorageContract.AddElement(tour);
|
_tourStorageContract.AddElement(tour);
|
||||||
AssertElement(GetTourFromDatabaseById(tour.Id), tour);
|
AssertElement(MagicCarpetDbContext.GetTourFromDatabaseById(tour.Id), tour);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_AddElement_WhenHaveRecordWithSameId_Test()
|
public void Try_AddElement_WhenHaveRecordWithSameId_Test()
|
||||||
{
|
{
|
||||||
var tour = CreateModel(Guid.NewGuid().ToString());
|
var tour = CreateModel(Guid.NewGuid().ToString());
|
||||||
InsertTourToDatabaseAndReturn(tour.Id, tourName: "name unique");
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(tour.Id, tourName: "name unique");
|
||||||
Assert.That(() => _tourStorageContract.AddElement(tour), Throws.TypeOf<ElementExistsException>());
|
Assert.That(() => _tourStorageContract.AddElement(tour), Throws.TypeOf<ElementExistsException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,17 +124,17 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_AddElement_WhenHaveRecordWithSameName_Test()
|
public void Try_AddElement_WhenHaveRecordWithSameName_Test()
|
||||||
{
|
{
|
||||||
var tour = CreateModel(Guid.NewGuid().ToString(), "name unique");
|
var tour = CreateModel(Guid.NewGuid().ToString(), "name unique");
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), tourName: tour.TourName);
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), tourName: tour.TourName);
|
||||||
Assert.That(() => _tourStorageContract.AddElement(tour), Throws.TypeOf<ElementExistsException>());
|
Assert.That(() => _tourStorageContract.AddElement(tour), Throws.TypeOf<ElementExistsException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_UpdElement_Test()
|
public void Try_UpdElement_Test()
|
||||||
{
|
{
|
||||||
var tour = CreateModel(Guid.NewGuid().ToString(), "new name", "country");
|
var tour = CreateModel(Guid.NewGuid().ToString(), "new name", tourType: TourType.Beach);
|
||||||
InsertTourToDatabaseAndReturn(tour.Id);
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(tour.Id);
|
||||||
_tourStorageContract.UpdElement(tour);
|
_tourStorageContract.UpdElement(tour);
|
||||||
AssertElement(GetTourFromDatabaseById(tour.Id), tour);
|
AssertElement(MagicCarpetDbContext.GetTourFromDatabaseById(tour.Id), tour);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -146,17 +147,17 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
public void Try_UpdElement_WhenHaveRecordWithSameName_Test()
|
public void Try_UpdElement_WhenHaveRecordWithSameName_Test()
|
||||||
{
|
{
|
||||||
var tour = CreateModel(Guid.NewGuid().ToString(), "name unique");
|
var tour = CreateModel(Guid.NewGuid().ToString(), "name unique");
|
||||||
InsertTourToDatabaseAndReturn(tour.Id, tourName: "name");
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(tour.Id, tourName: "name");
|
||||||
InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString(), tourName: tour.TourName);
|
MagicCarpetDbContext.InsertTourToDatabaseAndReturn(tourName: tour.TourName);
|
||||||
Assert.That(() => _tourStorageContract.UpdElement(tour), Throws.TypeOf<ElementExistsException>());
|
Assert.That(() => _tourStorageContract.UpdElement(tour), Throws.TypeOf<ElementExistsException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Try_DelElement_Test()
|
public void Try_DelElement_Test()
|
||||||
{
|
{
|
||||||
var tour = InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
var tour = MagicCarpetDbContext.InsertTourToDatabaseAndReturn(Guid.NewGuid().ToString());
|
||||||
_tourStorageContract.DelElement(tour.Id);
|
_tourStorageContract.DelElement(tour.Id);
|
||||||
var element = GetTourFromDatabaseById(tour.Id);
|
var element = MagicCarpetDbContext.GetTourFromDatabaseById(tour.Id);
|
||||||
Assert.That(element, Is.Null);
|
Assert.That(element, Is.Null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,23 +166,6 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
{
|
{
|
||||||
Assert.That(() => _tourStorageContract.DelElement(Guid.NewGuid().ToString()), Throws.TypeOf<ElementNotFoundException>());
|
Assert.That(() => _tourStorageContract.DelElement(Guid.NewGuid().ToString()), Throws.TypeOf<ElementNotFoundException>());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Tour InsertTourToDatabaseAndReturn(string id, string tourName = "test", string tourCountry = "country", TourType tourType = TourType.Beach, double price = 1)
|
|
||||||
{
|
|
||||||
var tour = new Tour() { Id = id, TourName = tourName, TourCountry = tourCountry, Type = tourType, Price = price };
|
|
||||||
MagicCarpetDbContext.Tours.Add(tour);
|
|
||||||
MagicCarpetDbContext.SaveChanges();
|
|
||||||
return tour;
|
|
||||||
}
|
|
||||||
|
|
||||||
private TourHistory InsertTourHistoryToDatabaseAndReturn(string tourId, double price, DateTime changeDate)
|
|
||||||
{
|
|
||||||
var tourHistory = new TourHistory() { Id = Guid.NewGuid().ToString(), TourId = tourId, OldPrice = price, ChangeDate = changeDate };
|
|
||||||
MagicCarpetDbContext.TourHistories.Add(tourHistory);
|
|
||||||
MagicCarpetDbContext.SaveChanges();
|
|
||||||
return tourHistory;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void AssertElement(TourDataModel? actual, Tour expected)
|
private static void AssertElement(TourDataModel? actual, Tour expected)
|
||||||
{
|
{
|
||||||
Assert.That(actual, Is.Not.Null);
|
Assert.That(actual, Is.Not.Null);
|
||||||
@@ -190,15 +174,13 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
||||||
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
||||||
Assert.That(actual.TourCountry, Is.EqualTo(expected.TourCountry));
|
Assert.That(actual.TourCountry, Is.EqualTo(expected.TourCountry));
|
||||||
Assert.That(actual.Type, Is.EqualTo(expected.Type));
|
Assert.That(actual.TourType, Is.EqualTo(expected.TourType));
|
||||||
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static TourDataModel CreateModel(string id, string tourName = "test", string tourCountry = "country", TourType type = TourType.Beach, double price = 1)
|
private static TourDataModel CreateModel(string id, string tourName = "test", string tourCountry = "country", TourType tourType = TourType.Ski, double price = 1)
|
||||||
=> new(id, tourName, tourCountry, price, type);
|
=> new(id, tourName,tourCountry, price, tourType);
|
||||||
|
|
||||||
private Tour? GetTourFromDatabaseById(string id) => MagicCarpetDbContext.Tours.FirstOrDefault(x => x.Id == id);
|
|
||||||
|
|
||||||
private static void AssertElement(Tour? actual, TourDataModel expected)
|
private static void AssertElement(Tour? actual, TourDataModel expected)
|
||||||
{
|
{
|
||||||
@@ -208,7 +190,7 @@ internal class TourStorageContractTests : BaseStorageContractTest
|
|||||||
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
||||||
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
||||||
Assert.That(actual.TourCountry, Is.EqualTo(expected.TourCountry));
|
Assert.That(actual.TourCountry, Is.EqualTo(expected.TourCountry));
|
||||||
Assert.That(actual.Type, Is.EqualTo(expected.Type));
|
Assert.That(actual.TourType, Is.EqualTo(expected.TourType));
|
||||||
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -354,7 +354,7 @@ internal class TourControllerTests : BaseWebApiControllerTest
|
|||||||
{
|
{
|
||||||
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
||||||
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
||||||
Assert.That(actual.TourType, Is.EqualTo(expected.Type.ToString()));
|
Assert.That(actual.TourType, Is.EqualTo(expected.TourType.ToString()));
|
||||||
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -386,7 +386,7 @@ internal class TourControllerTests : BaseWebApiControllerTest
|
|||||||
{
|
{
|
||||||
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
Assert.That(actual.Id, Is.EqualTo(expected.Id));
|
||||||
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
Assert.That(actual.TourName, Is.EqualTo(expected.TourName));
|
||||||
Assert.That(actual.Type.ToString(), Is.EqualTo(expected.TourType));
|
Assert.That(actual.TourType.ToString(), Is.EqualTo(expected.TourType));
|
||||||
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
Assert.That(actual.Price, Is.EqualTo(expected.Price));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user