update Region DTO to include country name

This commit is contained in:
cuqmbr 2025-04-30 17:44:29 +03:00
parent 0345f58f7b
commit e70c807b7c
Signed by: cuqmbr
GPG Key ID: 0AA446880C766199
2 changed files with 188 additions and 131 deletions

View File

@ -11,6 +11,8 @@ public sealed class RegionDto : IMapFrom<Region>
public Guid CountryUuid { get; set; } public Guid CountryUuid { get; set; }
public string CountryName { get; set; }
public void Mapping(MappingProfile profile) public void Mapping(MappingProfile profile)
{ {
profile.CreateMap<Region, RegionDto>() profile.CreateMap<Region, RegionDto>()
@ -19,6 +21,9 @@ public sealed class RegionDto : IMapFrom<Region>
opt => opt.MapFrom(s => s.Guid)) opt => opt.MapFrom(s => s.Guid))
.ForMember( .ForMember(
d => d.CountryUuid, d => d.CountryUuid,
opt => opt.MapFrom(s => s.Country.Guid)); opt => opt.MapFrom(s => s.Country.Guid))
.ForMember(
d => d.CountryName,
opt => opt.MapFrom(s => s.Country.Name));
} }
} }

View File

@ -14,7 +14,7 @@ namespace cuqmbr.TravelGuide.Application.IntegrationTests;
public class RegionsTests : TestBase public class RegionsTests : TestBase
{ {
[Fact] [Fact]
public async Task AddRegion_WithAdminRole_RegionCreated() public async Task AddRegion_WithAdminRole_RegionAdded()
{ {
SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator }); SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator });
@ -22,7 +22,7 @@ public class RegionsTests : TestBase
string countryName = "Country Name"; string countryName = "Country Name";
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName Name = countryName
@ -30,23 +30,25 @@ public class RegionsTests : TestBase
string regionName = "Region Name"; string regionName = "Region Name";
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionResult = await mediator.Send( var getRegionResult = await mediator.Send(
new GetRegionQuery() new GetRegionQuery()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionResult); Assert.NotNull(getRegionResult);
Assert.NotNull(getRegionResult.Name); Assert.NotNull(getRegionResult.Name);
Assert.Equal(regionName, getRegionResult.Name); Assert.Equal(regionName, getRegionResult.Name);
Assert.Equal(createCountryResult.Uuid, getRegionResult.CountryUuid); Assert.Equal(addCountryResult.Uuid, getRegionResult.CountryUuid);
Assert.NotNull(getRegionResult.CountryName);
Assert.Equal(addCountryResult.Name, getRegionResult.CountryName);
} }
[Fact] [Fact]
@ -59,7 +61,7 @@ public class RegionsTests : TestBase
string countryName = "Country Name"; string countryName = "Country Name";
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName Name = countryName
@ -67,24 +69,24 @@ public class RegionsTests : TestBase
string regionName = "Region Name"; string regionName = "Region Name";
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
await Assert.ThrowsAsync<DuplicateEntityException>(() => await Assert.ThrowsAsync<DuplicateEntityException>(() =>
mediator.Send(new AddRegionCommand() mediator.Send(new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken)); }, TestContext.Current.CancellationToken));
} }
[Fact] [Fact]
public async Task public async Task
AddSameRegionsToDifferentCountries_WithAdminRole_RegionsCreated() AddSameRegionsToDifferentCountries_WithAdminRole_RegionsAdded()
{ {
SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator }); SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator });
@ -92,7 +94,7 @@ public class RegionsTests : TestBase
string countryName1 = "Country Name 1"; string countryName1 = "Country Name 1";
var createCountryResult1 = await mediator.Send( var addCountryResult1 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName1 Name = countryName1
@ -100,7 +102,7 @@ public class RegionsTests : TestBase
string countryName2 = "Country Name2 "; string countryName2 = "Country Name2 ";
var createCountryResult2 = await mediator.Send( var addCountryResult2 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName2 Name = countryName2
@ -108,41 +110,43 @@ public class RegionsTests : TestBase
string regionName = "Region Name"; string regionName = "Region Name";
var createRegionResult1 = await mediator.Send( var addRegionResult1 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult2 = await mediator.Send( var addRegionResult2 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionResult1 = await mediator.Send( var getRegionResult1 = await mediator.Send(
new GetRegionQuery() new GetRegionQuery()
{ {
Uuid = createRegionResult1.Uuid, Uuid = addRegionResult1.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionResult1); Assert.NotNull(getRegionResult1);
Assert.NotNull(getRegionResult1.Name); Assert.NotNull(getRegionResult1.Name);
Assert.Equal(regionName, getRegionResult1.Name); Assert.Equal(regionName, getRegionResult1.Name);
Assert.Equal(createCountryResult1.Uuid, getRegionResult1.CountryUuid); Assert.Equal(addCountryResult1.Uuid, getRegionResult1.CountryUuid);
var getRegionResult2 = await mediator.Send( var getRegionResult2 = await mediator.Send(
new GetRegionQuery() new GetRegionQuery()
{ {
Uuid = createRegionResult2.Uuid, Uuid = addRegionResult2.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionResult2); Assert.NotNull(getRegionResult2);
Assert.NotNull(getRegionResult2.Name); Assert.NotNull(getRegionResult2.Name);
Assert.Equal(regionName, getRegionResult2.Name); Assert.Equal(regionName, getRegionResult2.Name);
Assert.Equal(createCountryResult2.Uuid, getRegionResult2.CountryUuid); Assert.Equal(addCountryResult2.Uuid, getRegionResult2.CountryUuid);
Assert.NotNull(getRegionResult2.CountryName);
Assert.Equal(addCountryResult2.Name, getRegionResult2.CountryName);
} }
[Fact] [Fact]
@ -239,7 +243,7 @@ public class RegionsTests : TestBase
string countryName = "Country Name"; string countryName = "Country Name";
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName Name = countryName
@ -247,33 +251,35 @@ public class RegionsTests : TestBase
string regionName = "Region Name"; string regionName = "Region Name";
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
string newName = "Different Name"; string newName = "Different Name";
var editRegionResult = await mediator.Send( var updateRegionResult = await mediator.Send(
new UpdateRegionCommand() new UpdateRegionCommand()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
Name = newName, Name = newName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionResult = await mediator.Send( var getRegionResult = await mediator.Send(
new GetRegionQuery() new GetRegionQuery()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionResult); Assert.NotNull(getRegionResult);
Assert.NotNull(getRegionResult.Name); Assert.NotNull(getRegionResult.Name);
Assert.Equal(newName, getRegionResult.Name); Assert.Equal(newName, getRegionResult.Name);
Assert.Equal(createCountryResult.Uuid, getRegionResult.CountryUuid); Assert.Equal(addCountryResult.Uuid, getRegionResult.CountryUuid);
Assert.NotNull(getRegionResult.CountryName);
Assert.Equal(addCountryResult.Name, getRegionResult.CountryName);
} }
[Theory] [Theory]
@ -344,7 +350,7 @@ public class RegionsTests : TestBase
var mediator = GetService<IMediator>(); var mediator = GetService<IMediator>();
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = "Name" Name = "Name"
@ -355,7 +361,7 @@ public class RegionsTests : TestBase
{ {
Uuid = Guid.NewGuid(), Uuid = Guid.NewGuid(),
Name = "Different Name", Name = "Different Name",
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken)); }, TestContext.Current.CancellationToken));
} }
@ -367,23 +373,23 @@ public class RegionsTests : TestBase
var mediator = GetService<IMediator>(); var mediator = GetService<IMediator>();
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = "Name" Name = "Name"
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = "Name", Name = "Name",
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
await Assert.ThrowsAsync<NotFoundException>(() => await Assert.ThrowsAsync<NotFoundException>(() =>
mediator.Send(new UpdateRegionCommand() mediator.Send(new UpdateRegionCommand()
{ {
Uuid = createCountryResult.Uuid, Uuid = addCountryResult.Uuid,
Name = "Different Name", Name = "Different Name",
CountryUuid = Guid.NewGuid() CountryUuid = Guid.NewGuid()
}, TestContext.Current.CancellationToken)); }, TestContext.Current.CancellationToken));
@ -427,29 +433,29 @@ public class RegionsTests : TestBase
var mediator = GetService<IMediator>(); var mediator = GetService<IMediator>();
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = "Name" Name = "Name"
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = "Name", Name = "Name",
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
await mediator.Send( await mediator.Send(
new DeleteRegionCommand() new DeleteRegionCommand()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
await Assert.ThrowsAsync<NotFoundException>(() => await Assert.ThrowsAsync<NotFoundException>(() =>
mediator.Send(new GetRegionQuery() mediator.Send(new GetRegionQuery()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
}, TestContext.Current.CancellationToken)); }, TestContext.Current.CancellationToken));
} }
@ -526,7 +532,7 @@ public class RegionsTests : TestBase
string countryName = "Name"; string countryName = "Name";
var createCountryResult = await mediator.Send( var addCountryResult = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName Name = countryName
@ -534,24 +540,26 @@ public class RegionsTests : TestBase
string regionName = "Name"; string regionName = "Name";
var createRegionResult = await mediator.Send( var addRegionResult = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName, Name = regionName,
CountryUuid = createCountryResult.Uuid CountryUuid = addCountryResult.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionResult = await mediator.Send( var getRegionResult = await mediator.Send(
new GetRegionQuery() new GetRegionQuery()
{ {
Uuid = createRegionResult.Uuid, Uuid = addRegionResult.Uuid,
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionResult); Assert.NotNull(getRegionResult);
Assert.NotNull(getRegionResult.Name); Assert.NotNull(getRegionResult.Name);
Assert.Equal(regionName, getRegionResult.Name); Assert.Equal(regionName, getRegionResult.Name);
Assert.Equal(createRegionResult.Uuid, getRegionResult.Uuid); Assert.Equal(addRegionResult.Uuid, getRegionResult.Uuid);
Assert.Equal(createCountryResult.Uuid, getRegionResult.CountryUuid); Assert.Equal(addCountryResult.Uuid, getRegionResult.CountryUuid);
Assert.NotNull(getRegionResult.CountryName);
Assert.Equal(addCountryResult.Name, getRegionResult.CountryName);
} }
[Theory] [Theory]
@ -630,13 +638,13 @@ public class RegionsTests : TestBase
string countryName1 = "Country Name 1"; string countryName1 = "Country Name 1";
string countryName2 = "CountryName 1"; string countryName2 = "CountryName 1";
var createCountryResult1 = await mediator.Send( var addCountryResult1 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName1 Name = countryName1
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createCountryResult2 = await mediator.Send( var addCountryResult2 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName2 Name = countryName2
@ -645,18 +653,18 @@ public class RegionsTests : TestBase
string regionName1 = "Region Name 1"; string regionName1 = "Region Name 1";
string regionName2 = "Region Name 2"; string regionName2 = "Region Name 2";
var createRegionResult1 = await mediator.Send( var addRegionResult1 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName1, Name = regionName1,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult2 = await mediator.Send( var addRegionResult2 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName2, Name = regionName2,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionsResult = await mediator.Send( var getRegionsResult = await mediator.Send(
@ -676,11 +684,11 @@ public class RegionsTests : TestBase
Assert.Single(getRegionsResult.Items); Assert.Single(getRegionsResult.Items);
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Name, getRegionsResult.Items.First().Name); addRegionResult1.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult1.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid);
getRegionsResult = await mediator.Send( getRegionsResult = await mediator.Send(
new GetRegionsPageQuery() new GetRegionsPageQuery()
@ -699,11 +707,14 @@ public class RegionsTests : TestBase
Assert.Single(getRegionsResult.Items); Assert.Single(getRegionsResult.Items);
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Name, getRegionsResult.Items.First().Name); addRegionResult2.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult2.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult2.Name, getRegionsResult.Items.First().CountryName);
getRegionsResult = await mediator.Send( getRegionsResult = await mediator.Send(
new GetRegionsPageQuery() new GetRegionsPageQuery()
@ -721,23 +732,29 @@ public class RegionsTests : TestBase
Assert.Equal(2, getRegionsResult.Items.Count()); Assert.Equal(2, getRegionsResult.Items.Count());
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Name, getRegionsResult.Items.First().Name); addRegionResult1.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult1.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult1.Name, getRegionsResult.Items.First().CountryName);
Assert.NotNull(getRegionsResult.Items.Last().Name); Assert.NotNull(getRegionsResult.Items.Last().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Name, getRegionsResult.Items.Last().Name); addRegionResult2.Name, getRegionsResult.Items.Last().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Uuid, getRegionsResult.Items.Last().Uuid); addRegionResult2.Uuid, getRegionsResult.Items.Last().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.Last().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.Last().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult2.Name, getRegionsResult.Items.Last().CountryName);
} }
[Fact] [Fact]
public async Task public async Task
GetRegionsPage_WithSearch_WithAdminRole_SearchedRegionsPageReturned() GetRegionsPage_WithSearchByCountryName_WithAdminRole_SearchedRegionsPageReturned()
{ {
SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator }); SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator });
@ -746,13 +763,13 @@ public class RegionsTests : TestBase
string countryName1 = "Country Name 1"; string countryName1 = "Country Name 1";
string countryName2 = "CountryName 1"; string countryName2 = "CountryName 1";
var createCountryResult1 = await mediator.Send( var addCountryResult1 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName1 Name = countryName1
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createCountryResult2 = await mediator.Send( var addCountryResult2 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName2 Name = countryName2
@ -761,18 +778,18 @@ public class RegionsTests : TestBase
string regionName1 = "Region Name 1"; string regionName1 = "Region Name 1";
string regionName2 = "Region Name 2"; string regionName2 = "Region Name 2";
var createRegionResult1 = await mediator.Send( var addRegionResult1 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName1, Name = regionName1,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult2 = await mediator.Send( var addRegionResult2 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName2, Name = regionName2,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionsResult = await mediator.Send( var getRegionsResult = await mediator.Send(
@ -793,13 +810,57 @@ public class RegionsTests : TestBase
Assert.Single(getRegionsResult.Items); Assert.Single(getRegionsResult.Items);
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Name, getRegionsResult.Items.First().Name); addRegionResult2.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult2.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult2.Name, getRegionsResult.Items.First().CountryName);
}
getRegionsResult = await mediator.Send( [Fact]
public async Task
GetRegionsPage_WithSearchByRegionName_WithAdminRole_SearchedRegionsPageReturned()
{
SetAuthenticatedUserRoles(new[] { IdentityRole.Administrator });
var mediator = GetService<IMediator>();
string countryName1 = "Country Name 1";
string countryName2 = "CountryName 1";
var addCountryResult1 = await mediator.Send(
new AddCountryCommand()
{
Name = countryName1
}, TestContext.Current.CancellationToken);
var addCountryResult2 = await mediator.Send(
new AddCountryCommand()
{
Name = countryName2
}, TestContext.Current.CancellationToken);
string regionName1 = "Region Name 1";
string regionName2 = "Region Name 2";
var addRegionResult1 = await mediator.Send(
new AddRegionCommand()
{
Name = regionName1,
CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken);
var addRegionResult2 = await mediator.Send(
new AddRegionCommand()
{
Name = regionName2,
CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken);
var getRegionsResult = await mediator.Send(
new GetRegionsPageQuery() new GetRegionsPageQuery()
{ {
PageNumber = 1, PageNumber = 1,
@ -817,11 +878,14 @@ public class RegionsTests : TestBase
Assert.Single(getRegionsResult.Items); Assert.Single(getRegionsResult.Items);
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Name, getRegionsResult.Items.First().Name); addRegionResult1.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult1.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult1.Name, getRegionsResult.Items.First().CountryName);
} }
[Fact] [Fact]
@ -835,13 +899,13 @@ public class RegionsTests : TestBase
string countryName1 = "Country Name 1"; string countryName1 = "Country Name 1";
string countryName2 = "Country Name 2"; string countryName2 = "Country Name 2";
var createCountryResult1 = await mediator.Send( var addCountryResult1 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName1 Name = countryName1
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createCountryResult2 = await mediator.Send( var addCountryResult2 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName2 Name = countryName2
@ -850,18 +914,18 @@ public class RegionsTests : TestBase
string regionName1 = "Region Name 1"; string regionName1 = "Region Name 1";
string regionName2 = "Region Name 2"; string regionName2 = "Region Name 2";
var createRegionResult1 = await mediator.Send( var addRegionResult1 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName1, Name = regionName1,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult2 = await mediator.Send( var addRegionResult2 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName2, Name = regionName2,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionsResult = await mediator.Send( var getRegionsResult = await mediator.Send(
@ -869,7 +933,7 @@ public class RegionsTests : TestBase
{ {
PageNumber = 1, PageNumber = 1,
PageSize = 10, PageSize = 10,
Sort = "-name" Sort = "-countryName"
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionsResult); Assert.NotNull(getRegionsResult);
@ -882,35 +946,14 @@ public class RegionsTests : TestBase
Assert.Equal(2, getRegionsResult.Items.Count()); Assert.Equal(2, getRegionsResult.Items.Count());
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Name, getRegionsResult.Items.First().Name); addRegionResult2.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult2.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
getRegionsResult = await mediator.Send(
new GetRegionsPageQuery()
{
PageNumber = 1,
PageSize = 10,
Sort = "+name"
}, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionsResult);
Assert.Equal(1, getRegionsResult.PageNumber);
Assert.Equal(2, getRegionsResult.TotalCount);
Assert.Equal(1, getRegionsResult.TotalPages);
Assert.False(getRegionsResult.HasNextPage);
Assert.False(getRegionsResult.HasPreviousPage);
Assert.NotNull(getRegionsResult.Items);
Assert.Equal(2, getRegionsResult.Items.Count());
Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Name, getRegionsResult.Items.First().Name); addCountryResult2.Name, getRegionsResult.Items.First().CountryName);
Assert.Equal(
createRegionResult1.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal(
createCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid);
} }
[Fact] [Fact]
@ -924,13 +967,13 @@ public class RegionsTests : TestBase
string countryName1 = "Country Name 1"; string countryName1 = "Country Name 1";
string countryName2 = "Country Name 2"; string countryName2 = "Country Name 2";
var createCountryResult1 = await mediator.Send( var addCountryResult1 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName1 Name = countryName1
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createCountryResult2 = await mediator.Send( var addCountryResult2 = await mediator.Send(
new AddCountryCommand() new AddCountryCommand()
{ {
Name = countryName2 Name = countryName2
@ -940,25 +983,25 @@ public class RegionsTests : TestBase
string regionName2 = "Region Name 2"; string regionName2 = "Region Name 2";
string regionName3 = "Region Name 3"; string regionName3 = "Region Name 3";
var createRegionResult1 = await mediator.Send( var addRegionResult1 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName1, Name = regionName1,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult2 = await mediator.Send( var addRegionResult2 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName2, Name = regionName2,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var createRegionResult3 = await mediator.Send( var addRegionResult3 = await mediator.Send(
new AddRegionCommand() new AddRegionCommand()
{ {
Name = regionName3, Name = regionName3,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
var getRegionsResult = await mediator.Send( var getRegionsResult = await mediator.Send(
@ -966,7 +1009,7 @@ public class RegionsTests : TestBase
{ {
PageNumber = 1, PageNumber = 1,
PageSize = 10, PageSize = 10,
CountryUuid = createCountryResult1.Uuid CountryUuid = addCountryResult1.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionsResult); Assert.NotNull(getRegionsResult);
@ -979,18 +1022,21 @@ public class RegionsTests : TestBase
Assert.Single(getRegionsResult.Items); Assert.Single(getRegionsResult.Items);
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Name, getRegionsResult.Items.First().Name); addRegionResult1.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult1.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult1.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult1.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult1.Name, getRegionsResult.Items.First().CountryName);
getRegionsResult = await mediator.Send( getRegionsResult = await mediator.Send(
new GetRegionsPageQuery() new GetRegionsPageQuery()
{ {
PageNumber = 1, PageNumber = 1,
PageSize = 10, PageSize = 10,
CountryUuid = createCountryResult2.Uuid CountryUuid = addCountryResult2.Uuid
}, TestContext.Current.CancellationToken); }, TestContext.Current.CancellationToken);
Assert.NotNull(getRegionsResult); Assert.NotNull(getRegionsResult);
@ -1003,18 +1049,24 @@ public class RegionsTests : TestBase
Assert.Equal(2, getRegionsResult.Items.Count()); Assert.Equal(2, getRegionsResult.Items.Count());
Assert.NotNull(getRegionsResult.Items.First().Name); Assert.NotNull(getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Name, getRegionsResult.Items.First().Name); addRegionResult2.Name, getRegionsResult.Items.First().Name);
Assert.Equal( Assert.Equal(
createRegionResult2.Uuid, getRegionsResult.Items.First().Uuid); addRegionResult2.Uuid, getRegionsResult.Items.First().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.First().CountryUuid);
Assert.NotNull(getRegionsResult.Items.First().CountryName);
Assert.Equal(
addCountryResult2.Name, getRegionsResult.Items.First().CountryName);
Assert.NotNull(getRegionsResult.Items.Last().Name); Assert.NotNull(getRegionsResult.Items.Last().Name);
Assert.Equal( Assert.Equal(
createRegionResult3.Name, getRegionsResult.Items.Last().Name); addRegionResult3.Name, getRegionsResult.Items.Last().Name);
Assert.Equal( Assert.Equal(
createRegionResult3.Uuid, getRegionsResult.Items.Last().Uuid); addRegionResult3.Uuid, getRegionsResult.Items.Last().Uuid);
Assert.Equal( Assert.Equal(
createCountryResult2.Uuid, getRegionsResult.Items.Last().CountryUuid); addCountryResult2.Uuid, getRegionsResult.Items.Last().CountryUuid);
Assert.NotNull(getRegionsResult.Items.Last().CountryName);
Assert.Equal(
addCountryResult2.Name, getRegionsResult.Items.First().CountryName);
} }
[Theory] [Theory]