public void VacationRequestRepository_AddVacationRequest_Added_NotFail_Test() { var context = new MyCompanyContext(); int expected = context.VacationRequests.Count() + 1; var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); workingDaysCalculator.GetWorkingDaysInt32DateTimeDateTime = (i, time, arg3) => 5; var employeeId = context.Employees.FirstOrDefault().EmployeeId; var target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var vacationRequest = new VacationRequest() { From = DateTime.UtcNow, To = DateTime.UtcNow, NumDays = 0, Comments = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", CreationDate = DateTime.UtcNow.AddDays(-1), LastModifiedDate = DateTime.UtcNow, Status = VacationRequestStatus.Approved, EmployeeId = employeeId, }; target.Add(vacationRequest); int actual = context.VacationRequests.Count(); Assert.AreEqual(expected, actual); }
public void VacationRequestRepository_GetVacationRequest_Call_GetResults_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); int vacationRequestId = context.VacationRequests.FirstOrDefault().VacationRequestId; var target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var result = target.Get(vacationRequestId); Assert.IsNotNull(result); Assert.IsTrue(result.VacationRequestId == vacationRequestId); }
public void VacationRequestRepository_GetAllVacationRequests_Call_GetResults_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); int expectedCount = context.VacationRequests.Count(); var target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var results = target.GetAll(); Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void VacationRequestRepository_UpdateVacationRequest_NotFail_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var vacationRequest = context.VacationRequests.FirstOrDefault(v => v.Status != VacationRequestStatus.Denied); var target = new VacationRequestRepository(context, null, workingDaysCalculator, false); vacationRequest.Status = VacationRequestStatus.Denied; target.Update(vacationRequest); var actual = target.Get(vacationRequest.VacationRequestId); Assert.AreEqual(VacationRequestStatus.Denied, actual.Status); }
public void VacationRequestRepository_GetUserPendingVacation_Test() { var context = new Data.MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var employee = context.Employees.Include("VacationRequests").FirstOrDefault(e => e.VacationRequests.Any()); string identity = employee.Email; int year = employee.VacationRequests.First().From.Year; IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var actual = target.GetUserPendingVacation(employee.Email, year); Assert.IsTrue(actual > 0); }
public void VacationRequestRepository_DeleteVacationRequest_NoExists_NotFail_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); int expected = context.VacationRequests.Count(); IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); target.Delete(-1); int actual = context.VacationRequests.Count(); Assert.AreEqual(expected, actual); }
public void VacationRequestRepository_GetUserCount_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var employee = context.Employees.Include("VacationRequests").FirstOrDefault(e => e.VacationRequests.Any()); string identity = employee.Email; int? month = employee.VacationRequests.First().From.Month; int year = employee.VacationRequests.First().From.Year; int status = (int)(VacationRequestStatus.Approved | VacationRequestStatus.Denied | VacationRequestStatus.Pending); int expected = employee.VacationRequests.Count(v => v.From.Month == month && v.From.Year == year); IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var actual = target.GetUserCount(identity, month, year, status); Assert.AreEqual(expected, actual); }
public void VacationRequestRepository_GetTeamCount_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var team = context.Teams.Include("Manager").Where(t => t.Employees.Any()).FirstOrDefault(); var vacationRequest = context.VacationRequests.FirstOrDefault(); string identity = team.Manager.Email; int? month = vacationRequest.From.Month; int year = vacationRequest.From.Year; int status = (int)(VacationRequestStatus.Approved | VacationRequestStatus.Denied | VacationRequestStatus.Pending); IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var actual = target.GetTeamCount(identity, string.Empty, month, year, status); Assert.IsTrue(actual > 0); }
public void VacationRequestRepository_GetUserVacationRequestsById_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var employee = context.Employees .Include("VacationRequests") .Where(e => e.VacationRequests.Any() && e.EmployeePictures.Any()) .FirstOrDefault(); int employeeId = employee.EmployeeId; int year = employee.VacationRequests.First().From.Year; IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var results = target.GetUserVacationRequests(employeeId, year); Assert.IsNotNull(results); Assert.IsTrue(results.Any()); Assert.IsNotNull(results.First().Employee); Assert.IsNull(results.First().Employee.EmployeePictures); }
public async void VacationRequestRepository_GetTeamVacationRequestsByEmployee_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var team = context.Teams.Include("Manager").Where(t => t.Employees.Any()).FirstOrDefault(); var vacationRequest = context.VacationRequests.FirstOrDefault(); string identity = team.Manager.Email; int? month = vacationRequest.From.Month; int year = vacationRequest.From.Year; int status = (int)(VacationRequestStatus.Approved | VacationRequestStatus.Denied | VacationRequestStatus.Pending); IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var results = await target.GetTeamVacationRequestsByEmployee(identity, month, year, status, PictureType.Small); Assert.IsNotNull(results); Assert.IsTrue(results.Any()); //Assert.IsTrue(results.Count() == 6); //TODO: comentar con vgaltes Assert.IsNotNull(results.First().VacationRequests); Assert.IsTrue(results.First().VacationRequests.Any()); Assert.IsNotNull(results.First().EmployeePictures); }
public void VacationRequestRepository_GetTeamVacationRequests_Test() { var context = new MyCompanyContext(); var workingDaysCalculator = new Data.Services.Fakes.StubIWorkingDaysCalculator(); var manager = context.Employees.FirstOrDefault(e => e.ManagedTeams.Any()); var vacationRequest = context.VacationRequests.FirstOrDefault(); string identity = manager.Email; int? month = vacationRequest.From.Month; int year = vacationRequest.From.Year; int status = (int)(VacationRequestStatus.Approved | VacationRequestStatus.Denied | VacationRequestStatus.Pending); int pageSize = 1; int pageCount = 0; IVacationRequestRepository target = new VacationRequestRepository(context, null, workingDaysCalculator, false); var results = target.GetTeamVacationRequests(identity, string.Empty, month, year, status, PictureType.Small, pageSize, pageCount); Assert.IsNotNull(results); Assert.IsTrue(results.Any()); Assert.IsTrue(results.Count() == 1); Assert.IsNotNull(results.First().Employee); Assert.IsNotNull(results.First().Employee.EmployeePictures); }
public App() { var medicationRepository = new MedicationRepository(new Stream <Medication>(MEDICATION_FILE)); var diagnosisRepository = new DiagnosisRepository(new Stream <Diagnosis>(DIAGNOSIS_FILE)); var allergenRepository = new AllergensRepository(new Stream <Allergens>(ALLERGEN_FILE)); var categoryRepository = new MedicationCategoryRepository(new Stream <MedicationCategory>(CATEGORY_FILE)); var symptomsRepository = new SymptomsRepository(new Stream <Symptoms>(SYMPTOMS_FILE)); var ingredientsRepository = new MedicationIngredientRepository(new Stream <MedicationIngredient>(INGREDIENTS_FILE)); var specializationRepository = new SpecializationRepository(new Stream <Specialization>(SPECIALIZATION_FILE)); var cityRepository = new CityRepository(new Stream <City>(CITY_FILE)); var addressRepository = new AddressRepository(new Stream <Address>(ADDRESS_FILE), cityRepository); var stateRepository = new StateRepository(new Stream <State>(STATE_FILE)); var hospitalRepository = new HospitalRepository(new Stream <Hospital>(HOSPITAL_FILE)); var departmentRepository = new DepartmentRepository(hospitalRepository, new Stream <Department>(DEPARTMENT_FILE)); var roomRepository = new RoomRepository(departmentRepository, new Stream <Room>(ROOM_FILE)); var userRepository = new UserRepository(new Stream <RegisteredUser>(USER_FILE), cityRepository, addressRepository, departmentRepository, roomRepository); var renovationRepository = new RenovationRepository(roomRepository, new Stream <Renovation>(RENOVATION_FILE)); var medicalRecordRepository = new MedicalRecordRepository(new Stream <MedicalRecord>(RECORD_FILE), diagnosisRepository, medicationRepository, userRepository); var bedRepository = new BedRepository(roomRepository, medicalRecordRepository, new Stream <Bed>(BED_FILE)); var equipmentTypeRepository = new EquipmentTypeRepository(new Stream <EquipmentType>(EQUIPMENT_TYPE_FILE)); var equipmentRepository = new HospitalEquipmentRepository(new Stream <HospitalEquipment>(EQUIPMENT_FILE)); var treatmentsRepository = new TreatmentRepository(medicationRepository, departmentRepository, new Stream <Treatment>(TREATMENTS_FILE)); var examinationSurgeryRepository = new ExaminationSurgeryRepository(treatmentsRepository, medicalRecordRepository, userRepository, new Stream <ExaminationSurgery>(EXAMINATION_SURGERY_FILE)); var emergencyRequestRepository = new EmergencyRequestRepository(medicalRecordRepository, new Stream <EmergencyRequest>(EMERGENCY_REQUEST_FILE)); var vaccinesRepository = new VaccinesRepository(new Stream <Vaccines>(VACCINES_FILE)); var notificationRepository = new NotificationRepository(userRepository, new Stream <Notification>(NOTIFICATION_FILE)); var articleRepository = new ArticleRepository(userRepository, new Stream <Article>(ARTICLE_FILE)); var questionRepository = new QuestionRepository(userRepository, new Stream <Question>(QUESTIONS_FILE)); var doctorReviewsRepository = new DoctorReviewRepository(userRepository, new Stream <DoctorReview>(DOCTOR_REVIEWS_FILE)); var feedbackRepository = new FeedbackRepository(userRepository, new Stream <Feedback>(FEEDBACK_FILE)); var surveyRepository = new SurveyRepository(userRepository, new Stream <Survey>(SURVEY_FILE)); var appointmentsRepository = new AppointmentRepository(userRepository, medicalRecordRepository, roomRepository, new Stream <Appointment>(APPOINTMENTS_FILE)); var workDayRepository = new WorkDayRepository(userRepository, new Stream <WorkDay>(WORK_DAY_FILE)); var vacationRequestRepository = new VacationRequestRepository(userRepository, new Stream <VacationRequest>(VACATION_REQUEST_FILE)); var reportsRepository = new ReportRepository(new Stream <Report>(REPORTS_FILE)); var labTestTypeRepository = new LabTestTypeRepository(new Stream <LabTestType>(LAB_TEST_TYPE_FILE)); var validationMedicationRepository = new ValidationMedicationRepository(new Stream <ValidationMed>(VALIDATION_FILE), userRepository, medicationRepository); var equipmentTypeService = new EquipmentTypeService(equipmentTypeRepository); var medicationService = new MedicationService(medicationRepository, validationMedicationRepository); var diagnosisService = new DiagnosisService(diagnosisRepository); var allergenService = new AllergensService(allergenRepository); var categoryService = new MedicationCategoryService(categoryRepository); var symptomsService = new SymptomsService(symptomsRepository); var ingredientsService = new MedicationIngredientService(ingredientsRepository); var specializationService = new SpecializationService(specializationRepository); var cityService = new CityService(cityRepository); var stateService = new StateService(stateRepository); var addressService = new AddressService(addressRepository); var notificationService = new NotificationService(notificationRepository, userRepository, medicalRecordRepository); var validationMedicationService = new ValidationMedicationService(validationMedicationRepository, notificationService); var hospitalService = new HospitalService(hospitalRepository); var departmentService = new DepartmentService(departmentRepository); var bedService = new BedService(bedRepository); var medicalRecordService = new MedicalRecordService(medicalRecordRepository); var treatmentService = new TreatmentService(treatmentsRepository, notificationService); var examiantionSurgeryService = new ExaminationSurgeryService(examinationSurgeryRepository); var emergencyRequestService = new EmergencyRequestService(emergencyRequestRepository, notificationService); var vaccinesService = new VaccinesService(vaccinesRepository); var articleService = new ArticleService(articleRepository); var questionService = new QuestionService(questionRepository, notificationService); var doctorsReviewService = new DoctorReviewService(doctorReviewsRepository); var feedbackService = new FeedbackService(feedbackRepository); var surveyService = new SurveyService(surveyRepository); var userService = new UserService(userRepository, medicalRecordService); var workDayService = new WorkDayService(workDayRepository, MAX_HOURS_PER_WEEK); var appointmentService = new AppointmentService(appointmentsRepository, workDayService, notificationService, VALID_HOURS_FOR_SCHEDULING, APPOINTMENT_LENGTH_IN_MINUTES, SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS); var vacationRequestService = new VacationRequestService(vacationRequestRepository, notificationService, NUMBER_OF_ALLOWED_VACAY_REQUESTS); var reportsService = new ReportService(reportsRepository, treatmentsRepository, medicationRepository, examinationSurgeryRepository, roomRepository); var labTestTypeService = new LabTestTypeService(labTestTypeRepository); var roomService = new RoomService(roomRepository, appointmentsRepository); var hospitalEquipmentService = new HospitalEquipmentService(equipmentRepository); var renovationService = new RenovationService(renovationRepository, roomService, appointmentsRepository, hospitalEquipmentService, notificationService, RENOVATION_DAYS_RESTRICTION, RENOVATION_DAYS_RESTRICTION); var availableAppointmentService = new AvailableAppointmentService(appointmentsRepository, workDayService, VALID_HOURS_FOR_SCHEDULING, APPOINTMENT_LENGTH_IN_MINUTES, SURGERY_LENGTH_IN_MINUTES, START_WORKING_HOURS, END_WORKING_HOURS); equipmentTypeController = new EquipmentTypeController(equipmentTypeService); medicationController = new MedicationController(medicationService); userController = new UserController(userService); diagnosisController = new DiagnosisController(diagnosisService); symptomsController = new SymptomsController(symptomsService); categoryController = new MedicationCategoryController(categoryService); allergensController = new AllergensController(allergenService); vaccinesController = new VaccinesController(vaccinesService); labTestTypeController = new LabTestTypeController(labTestTypeService); medicationIngredientController = new MedicationIngredientController(ingredientsService); cityController = new CityController(cityService); specializationController = new SpecializationController(specializationService); addressController = new AddressController(addressService); stateController = new StateController(stateService); departmentController = new DepartmentController(departmentService); hospitalController = new HospitalController(hospitalService); roomController = new RoomController(roomService); renovationController = new RenovationController(renovationService); hospitalEquipmentController = new HospitalEquipmentController(hospitalEquipmentService); medicalRecordController = new MedicalRecordController(medicalRecordService); treatmentController = new TreatmentController(treatmentService); examinationSurgeryController = new ExaminationSurgeryController(examiantionSurgeryService); articleController = new ArticleController(articleService); questionController = new QuestionController(questionService); doctorReviewController = new DoctorReviewController(doctorsReviewService); surveyController = new SurveyController(surveyService); feedbackController = new FeedbackController(feedbackService); workDayController = new WorkDayController(workDayService); reportController = new ReportController(reportsService); validationMedicationController = new ValidationMedicationController(validationMedicationService); vacationRequestController = new VacationRequestController(vacationRequestService); bedController = new BedController(bedService); emergencyRequestController = new EmergencyRequestController(emergencyRequestService); appointmentController = new AppointmentController(appointmentService); notificationController = new NotificationController(notificationService); availableAppointmentController = new AvailableAppointmentController(availableAppointmentService); validations = new Validations(UNDERAGE_RESTRICTION); }