Exemple #1
0
        public async Task CreateAsync_PhoneNumberValidationFailed_ThrowsError()
        {
            // Arrange
            var fixture  = new Fixture();
            var Person   = new PersonUpdateModel();
            var expected = fixture.Create <string>();

            var PhoneNumberGetService = new Mock <IPhoneNumberGetService>();

            PhoneNumberGetService
            .Setup(x => x.ValidateAsync(Person))
            .Throws(new InvalidOperationException(expected));

            var PersonDataAccess = new Mock <IPersonDataAccess>();

            var PersonGetService = new PersonCreateService(PersonDataAccess.Object, PhoneNumberGetService.Object);

            // Act
            var action = new Func <Task>(() => PersonGetService.CreateAsync(Person));

            // Assert
            await action.Should().ThrowAsync <InvalidOperationException>().WithMessage(expected);

            PersonDataAccess.Verify(x => x.InsertAsync(Person), Times.Never);
        }
Exemple #2
0
        public PersonDTO CreatePerson(PersonDTO person)
        {
            var updateModel = Mapper.Map <PersonUpdateModel>(person);

            PersonGetService.ValidatePerson(updateModel);
            Person res = PersonCreateService.CreatePerson(updateModel);

            return(Mapper.Map <PersonDTO>(res));
        }
Exemple #3
0
        public void TestCreateperson()
        {
            Mock <IPersonDataAccess> personDataAccess = new Mock <IPersonDataAccess>();
            Person expected = new Person {
                Id = 1, Name = "Who", Email = "*****@*****.**", PhoneNumber = "89500492805"
            };


            personDataAccess.Setup(x => x.Insert(It.IsAny <PersonUpdateModel>())).Returns(expected);


            var    createService = new PersonCreateService(personDataAccess.Object, new PersonGetService(personDataAccess.Object));
            Person person        = createService.CreatePerson(new PersonUpdateModel()
            {
                Name = "Who", Email = "*****@*****.**", PhoneNumber = "89500492805"
            });

            Assert.AreEqual(person.Name, expected.Name);
            Assert.AreEqual(person.Id, expected.Id);
            Assert.AreEqual(person.Email, expected.Email);
            Assert.AreEqual(person.PhoneNumber, expected.PhoneNumber);
        }
Exemple #4
0
        public async Task CreateAsync_PhoneNumberValidationSucceed_CreatesPerson()
        {
            // Arrange
            var Person   = new PersonUpdateModel();
            var expected = new Person();

            var PhoneNumberGetService = new Mock <IPhoneNumberGetService>();

            PhoneNumberGetService.Setup(x => x.ValidateAsync(Person));

            var PersonDataAccess = new Mock <IPersonDataAccess>();

            PersonDataAccess.Setup(x => x.InsertAsync(Person)).ReturnsAsync(expected);

            var PersonGetService = new PersonCreateService(PersonDataAccess.Object, PhoneNumberGetService.Object);

            // Act
            var result = await PersonGetService.CreateAsync(Person);

            // Assert
            result.Should().Be(expected);
        }
Exemple #5
0
        public async Task CreateAsync_PersonValidationSucceed_CreatesEmployee()
        {
            // Arrange
            var person   = new PersonUpdateModel();
            var expected = new Person();

            var secretGetService = new Mock <ISecretGetService>();

            secretGetService.Setup(x => x.ValidateAsync(person));

            var personDataAccess = new Mock <IPersonDataAccess>();

            personDataAccess.Setup(x => x.InsertAsync(person)).ReturnsAsync(expected);

            var personGetService = new PersonCreateService(personDataAccess.Object, secretGetService.Object);

            // Act
            var result = await personGetService.CreateAsync(person);

            // Assert
            result.Should().Be(expected);
        }