public void If_The_Owner_Data_Are_Valid_Must_Return_A_Valid_Person() { // // Arrange // var mapper = new DtoPersonToBusinessPerson(new DtoPetToBusinessPet()); // // Act // var target = mapper.Map(new Person { Name = "some name", Gender = "Female", Age = 20, Pets = new Pet[] { new Pet { Name = "some pet1", Type = "Cat" }, new Pet { Name = "some pet2", Type = "Dog" } } }); // // Assert // Assert.Equal("some name", target.Name); Assert.Equal(20, target.Age); Assert.Equal(Gender.Female, target.Gender); Assert.Equal(1, target.Pets.Count(x => x.Type == PetType.Cat)); Assert.Equal(1, target.Pets.Count(x => x.Type == PetType.Dog)); }
public void If_DTO_Person_Is_Null_Must_Throw_Error() { // // Arrange, act and assert // Assert.Throws <ArgumentNullException>(() => { var mapper = new DtoPersonToBusinessPerson(Mock.Of <IMapper <Pet, Domain.Models.Pet> >()); var target = mapper.Map(null); }); }
public void If_The_Owner_Gender_Is_Not_Supported_It_Must_Be_Returned_As_None() { // // Arrange // var mapper = new DtoPersonToBusinessPerson(Mock.Of <IMapper <Pet, Domain.Models.Pet> >()); // // Act // var target = mapper.Map(new Person { Name = "some name", Gender = "blah" }); // // Assert // Assert.Equal(Gender.None, target.Gender); }
public void If_There_Are_Null_Pets_Must_Throw_Error() { // // Arrange // var petMapper = new DtoPetToBusinessPet(); var mapper = new DtoPersonToBusinessPerson(petMapper); // // Act and assert // Assert.Throws <ArgumentNullException>(() => { var target = mapper.Map(new Person { Name = "some name", Gender = "Male", Pets = new List <Pet>(new Pet[] { null, null }) }); }); }
public async Task If_There_Are_No_Owners_For_The_Requested_PetType_Must_Return_Success_With_Empty_People_List() { // // Arrange // var mockedClient = new Mock <IPeopleAreUsHttpClient>(); mockedClient.Setup(x => x.GetPeopleAsync()).ReturnsAsync(OperationResult <List <Person> > .Success(new List <Person> { new Person { Name = "some name1", Age = 18, Gender = "Male", Pets = new List <Pet> { new Pet { Name = "some dog 1", Type = "Dog" }, new Pet { Name = "some dog 2", Type = "Dog" }, } } })); var petMapper = new DtoPetToBusinessPet(); var personMapper = new DtoPersonToBusinessPerson(petMapper); var specification = new PetTypeSpecification(); var service = new PeopleService(mockedClient.Object, specification, personMapper, Mock.Of <ILogger <PeopleService> >()); // // Act // var operation = await service.GetPetOwnersAsync(new GetPetOwnersRequest(PetType.Cat)); // // Assert // Assert.True(operation.Status); Assert.NotNull(operation.Data); Assert.Empty(operation.Data.People); }