public async Task NotificationExistsButDoesNotRequireCustomsOffice_Throws()
        {
            var request = new SetExitCustomsOfficeForNotificationById(notificationId,
                AnyName,
                AnyAddress,
                country.Id);

            await Assert.ThrowsAsync<InvalidOperationException>(() => handler.HandleAsync(request));
        }
        public async Task NotificationExistsAndRequiresExitCustomsOffice_SetsExitOffice()
        {
            var intraCountryExportAlloweds = new IntraCountryExportAllowed[0];

            transport.SetStateOfExportForNotification(stateOfExport, this.validator);
            transport.SetStateOfImportForNotification(stateOfImportNonEu, this.validator);

            var request = new SetExitCustomsOfficeForNotificationById(notificationId,
                                                                      AnyName,
                                                                      AnyAddress,
                                                                      country.Id);

            await handler.HandleAsync(request);

            var transportRoute = context.TransportRoutes.First();

            Assert.Equal(request.Name, transportRoute.ExitCustomsOffice.Name);
        }
        public async Task NotificationExistsAndRequiresExitCustomsOffice_SetsExitOffice()
        {
            transport.SetStateOfExportForNotification(stateOfExport);
            transport.SetStateOfImportForNotification(stateOfImportNonEu);

            var request = new SetExitCustomsOfficeForNotificationById(notificationId,
                AnyName,
                AnyAddress,
                country.Id);

            await handler.HandleAsync(request);

            var transportRoute = context.TransportRoutes.First();

            Assert.Equal(request.Name, transportRoute.ExitCustomsOffice.Name);
        }