You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OptifitWebService/TestAPI/MapperTests/ExperienceMapperTests.cs

64 lines
2.2 KiB

using Server.Mappers;
using Server.Dto.Request;
using Infrastructure.Entities;
namespace TestAPI.MapperTests
{
public class ExperienceMapperTests
{
[Fact]
public void ToDto_ConvertsExperienceEntityToResponseExperienceDto()
{
// Arrange
var experienceEntity = new ExperienceEntity
{
Id = "1",
AlumniId = "1",
Title = "Test Experience",
StartDate = DateTime.UtcNow,
EndDate = DateTime.UtcNow.AddYears(1),
CompanyName = "Test Company",
IsCurrent = false
};
// Act
var result = experienceEntity.ToDto();
// Assert
Assert.Equal(experienceEntity.Id, result.Id);
Assert.Equal(experienceEntity.AlumniId, result.AlumniId);
Assert.Equal(experienceEntity.Title, result.Title);
Assert.Equal(experienceEntity.StartDate, result.StartingDate);
Assert.Equal(experienceEntity.EndDate, result.EndingDate);
Assert.Equal(experienceEntity.CompanyName, result.CompanyName);
Assert.Equal(experienceEntity.IsCurrent, result.CurrentJob);
}
[Fact]
public void ToEntity_ConvertsRequestExperienceDtoToExperienceEntity()
{
// Arrange
var requestExperienceDto = new RequestExperienceDto
{
AlumniId = "1",
Title = "Test Experience",
StartingDate = DateTime.UtcNow,
EndingDate = DateTime.UtcNow.AddYears(1),
CompanyName = "Test Company",
CurrentJob = false
};
// Act
var result = requestExperienceDto.ToEntity();
// Assert
Assert.Equal(requestExperienceDto.AlumniId, result.AlumniId);
Assert.Equal(requestExperienceDto.Title, result.Title);
Assert.Equal(requestExperienceDto.StartingDate, result.StartDate);
Assert.Equal(requestExperienceDto.EndingDate, result.EndDate);
Assert.Equal(requestExperienceDto.CompanyName, result.CompanyName);
Assert.Equal(requestExperienceDto.CurrentJob, result.IsCurrent);
}
}
}