Ejemplo n.º 1
0
        public async Task CreateAsync_PatientValidationSucceed_CreatesPatient()
        {
            // Arrange
            var patient  = new BuyerUpdateModel();
            var expected = new Buyer();

            var streetService = new Mock <ICityService>();

            streetService.Setup(x => x.ValidateAsync(patient));

            var patientDAL = new Mock <IBuyerDAL>();

            patientDAL.Setup(x => x.InsertAsync(patient)).ReturnsAsync(expected);

            var patientService = new BuyerService(patientDAL.Object, streetService.Object);

            // Act
            var result = await patientService.CreateAsync(patient);

            // Assert
            result.Should().Be(expected);
        }
Ejemplo n.º 2
0
        public async Task CreateAsync_PatientValidationFailed_ThrowsError()
        {
            // Arrange
            var fixture  = new Fixture();
            var patient  = new BuyerUpdateModel();
            var expected = fixture.Create <string>();

            var streetService = new Mock <ICityService>();

            streetService
            .Setup(x => x.ValidateAsync(patient))
            .Throws(new InvalidOperationException(expected));

            var patientDAL = new Mock <IBuyerDAL>();

            var patientService = new BuyerService(patientDAL.Object, streetService.Object);

            var action = new Func <Task>(() => patientService.CreateAsync(patient));

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

            patientDAL.Verify(x => x.InsertAsync(patient), Times.Never);
        }