public void SendsSchemaToEmailWhenProvided() { IWorkScheduleReader workScheduleReader = Substitute.For <IWorkScheduleReader>(); workScheduleReader.Read().Returns(new WorkSchedule()); IWorkScheduleReaderFactory workScheduleReaderFactory = Substitute.For <IWorkScheduleReaderFactory>(); workScheduleReaderFactory.Create(Arg.Any <Stream>()).Returns(workScheduleReader); IWorkScheduleExporter workScheduleExporter = Substitute.For <IWorkScheduleExporter>(); workScheduleExporter.Export(Arg.Any <WorkSchedule>()).Returns(new byte[0]); IWorkScheduleDeliveryService workScheduleDeliveryService = Substitute.For <IWorkScheduleDeliveryService>(); WorkScheduleExportViewModel model = new WorkScheduleExportViewModel { Email = "some-email@localhost", SchemaFile = new DummyFormFile() }; controller = new HomeController(workScheduleReaderFactory, workScheduleExporter, workScheduleDeliveryService); IActionResult result = controller.Index(model); result.ShouldNotBeNull(); result.ShouldBeOfType <ViewResult>(); workScheduleDeliveryService.ReceivedWithAnyArgs(1).Deliver(null, null, null); }
public void ReturnsICalendarFileWhenProvidingValidSchemaFile() { IWorkScheduleReader workScheduleReader = Substitute.For <IWorkScheduleReader>(); workScheduleReader.Read().Returns(new WorkSchedule()); IWorkScheduleReaderFactory workScheduleReaderFactory = Substitute.For <IWorkScheduleReaderFactory>(); workScheduleReaderFactory.Create(Arg.Any <Stream>()).Returns(workScheduleReader); IWorkScheduleExporter workScheduleExporter = Substitute.For <IWorkScheduleExporter>(); workScheduleExporter.Export(Arg.Any <WorkSchedule>()).Returns(new byte[0]); IWorkScheduleDeliveryService workScheduleDeliveryService = Substitute.For <IWorkScheduleDeliveryService>(); WorkScheduleExportViewModel model = new WorkScheduleExportViewModel { SchemaFile = new DummyFormFile() }; controller = new HomeController(workScheduleReaderFactory, workScheduleExporter, workScheduleDeliveryService); IActionResult result = controller.Index(model); result.ShouldNotBeNull(); result.ShouldBeOfType <FileContentResult>(); }
public HomeControllerTests() { IWorkScheduleReaderFactory workScheduleReaderFactory = Substitute.For <IWorkScheduleReaderFactory>(); IWorkScheduleExporter workScheduleExporter = Substitute.For <IWorkScheduleExporter>(); IWorkScheduleDeliveryService workScheduleDeliveryService = Substitute.For <IWorkScheduleDeliveryService>(); controller = new HomeController(workScheduleReaderFactory, workScheduleExporter, workScheduleDeliveryService); }
public HomeController(IWorkScheduleReaderFactory workScheduleReaderFactory, IWorkScheduleExporter workScheduleExporter, IWorkScheduleDeliveryService deliveryService) { if (workScheduleReaderFactory == null) { throw new ArgumentNullException(nameof(workScheduleReaderFactory)); } if (workScheduleExporter == null) { throw new ArgumentNullException(nameof(workScheduleExporter)); } if (deliveryService == null) { throw new ArgumentNullException(nameof(deliveryService)); } this.workScheduleReaderFactory = workScheduleReaderFactory; this.workScheduleExporter = workScheduleExporter; this.deliveryService = deliveryService; }