public void If_DTO_Pet_Is_Null_Must_Throw_Error()
 {
     //
     // Arrange, act and assert
     //
     Assert.Throws <ArgumentNullException>(() =>
     {
         var mapper = new DtoPetToBusinessPet();
         var target = mapper.Map(null);
     });
 }
        public void If_The_PetType_Is_Not_Supported_It_Must_Be_Returned_As_None()
        {
            //
            // Arrange
            //
            var mapper = new DtoPetToBusinessPet();
            //
            // Act
            //
            var target = mapper.Map(new Pet {
                Name = "some name1", Type = "blah"
            });

            //
            // Assert
            //
            Assert.Equal(PetType.None, target.Type);
        }
        public void If_The_Pet_Data_Are_Valid_Must_Return_A_Valid_Pet()
        {
            //
            // Arrange
            //
            var mapper = new DtoPetToBusinessPet();
            //
            // Act
            //
            var target = mapper.Map(new Pet
            {
                Name = "some pet1",
                Type = "Dog"
            });

            //
            // Assert
            //
            Assert.Equal("some pet1", target.Name);
            Assert.Equal(PetType.Dog, target.Type);
        }
예제 #4
0
        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 })
                });
            });
        }
예제 #5
0
        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);
        }