private async Task <IOperationResult <Permit> > BuildPermit(PermitCreateOrEditViewModel permitToCreate)
        {
            PermitType permitType = await _permitTypeRepository.FindAsync(permitType => permitType.Id == permitToCreate.PermitType);

            if (permitType == null)
            {
                return(OperationResult <Permit> .Fail("No se encontro el permiso en la base de datos."));
            }

            var permit = new Permit
            {
                Id               = 0,
                EmployeeName     = permitToCreate.EmployeeName,
                EmployeeLastName = permitToCreate.EmployeeLastName,
                PermitType       = permitType,
                Date             = permitToCreate.Date
            };

            return(OperationResult <Permit> .Ok(permit));
        }
Esempio n. 2
0
        public async Task CreateWhenPermitIsCorrecThenReturnOperationResultSuccess()
        {
            PermitCreateOrEditViewModel permitCreateViewModel = new PermitCreateOrEditViewModel
            {
                EmployeeName     = "sadsad",
                EmployeeLastName = "sadsad",
                PermitType       = 1,
                Date             = DateTime.Now
            };

            IPermitRepositoy      permitRepository     = Substitute.For <IPermitRepositoy>();
            IPermitTypeRepository permitTypeRepository = Substitute.For <IPermitTypeRepository>();

            permitTypeRepository.FindAsync(Arg.Any <Expression <Func <PermitType, bool> > >()).ReturnsForAnyArgs(new PermitType());

            PermitManager           permitManager   = new PermitManager(permitRepository, permitTypeRepository);
            IOperationResult <bool> operationResult = await permitManager.Create(permitCreateViewModel);

            Assert.IsTrue(operationResult.Success);
        }
Esempio n. 3
0
        public async Task UpdateWhenPermitTypeIsNullThenReturnOperationResultFailed()
        {
            PermitCreateOrEditViewModel permitCreateViewModel = new PermitCreateOrEditViewModel
            {
                EmployeeName     = "sadsad",
                EmployeeLastName = "sadsad",
                PermitType       = 1,
                Date             = DateTime.Now
            };

            IPermitRepositoy      permitRepository     = Substitute.For <IPermitRepositoy>();
            IPermitTypeRepository permitTypeRepository = Substitute.For <IPermitTypeRepository>();

            permitTypeRepository.FindAsync(Arg.Any <Expression <Func <PermitType, bool> > >()).ReturnsForAnyArgs(default(PermitType));

            PermitManager           permitManager   = new PermitManager(permitRepository, permitTypeRepository);
            IOperationResult <bool> operationResult = await permitManager.Update(permitCreateViewModel);

            Assert.IsFalse(operationResult.Success);
            Assert.AreEqual("No se encontro el permiso en la base de datos.", operationResult.Message);
        }
Esempio n. 4
0
        public async Task CreateWhenExceptionOcuredThenReturnOperationResultFailed()
        {
            PermitCreateOrEditViewModel permitCreateViewModel = new PermitCreateOrEditViewModel
            {
                EmployeeName     = "sadasd",
                EmployeeLastName = "alalal",
                PermitType       = 51,
                Date             = DateTime.Now
            };

            IPermitRepositoy      permitRepository     = Substitute.For <IPermitRepositoy>();
            IPermitTypeRepository permitTypeRepository = Substitute.For <IPermitTypeRepository>();

            permitRepository.When(p => p.Create(Arg.Any <Permit>())).Do(call => { throw new ArgumentException(); });
            permitTypeRepository.FindAsync(Arg.Any <Expression <Func <PermitType, bool> > >()).ReturnsForAnyArgs(new PermitType());

            PermitManager           permitManager   = new PermitManager(permitRepository, permitTypeRepository);
            IOperationResult <bool> operationResult = await permitManager.Create(permitCreateViewModel);

            Assert.IsFalse(operationResult.Success);
            Assert.AreEqual("Ha ocurrido un error al registrar el permiso.", operationResult.Message);
        }