public void BestimmeKontingent_AktiveAuftraege_Should_Not_BeCalculatedFromOrderings_When_Ordering_Is_Not_Digitalisierung(OrderType orderType) { // arrange var setting = new DigitalisierungsbeschraenkungSettings(); var itemsFromOrdering = new List <OrderItem> { new OrderItem { Status = OrderStatesInternal.FreigabePruefen }, new OrderItem { Status = OrderStatesInternal.Ausgeliehen } }; var orderings = new List <Ordering> { new Ordering { Type = orderType, Items = itemsFromOrdering.ToArray() } }; var sut = new KontingentBestimmer(setting); // act var result = sut.BestimmeKontingent(orderings, AccessRolesEnum.Ö2, new User()); // assert result.AktiveDigitalisierungsauftraege.Should().Be(0); }
public void BestimmeKontingent_Bestellkontingent_Should_Be_Zero_When_Orderings_Equals_Threshold() { // arrange var setting = new DigitalisierungsbeschraenkungSettings { DigitalisierungsbeschraenkungBvw = 2 }; var itemsFromOrdering = new List <OrderItem> { new OrderItem { Status = OrderStatesInternal.FreigabePruefen // Zählt }, new OrderItem { Status = OrderStatesInternal.FuerDigitalisierungBereit // Zählt }, new OrderItem { Status = OrderStatesInternal.Abgebrochen // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.DigitalisierungAbgebrochen // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.ZumReponierenBereit // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.Abgeschlossen // Zählt nicht } }; var orderings = new List <Ordering> { new Ordering { Type = OrderType.Digitalisierungsauftrag, // zählt Items = itemsFromOrdering.ToArray() }, new Ordering { Type = OrderType.Einsichtsgesuch, // zählt nicht Items = itemsFromOrdering.ToArray() } }; var sut = new KontingentBestimmer(setting); // act var result = sut.BestimmeKontingent(orderings, AccessRolesEnum.BVW, new User()); // assert result.AktiveDigitalisierungsauftraege.Should().Be(2); result.Digitalisierungesbeschraenkung.Should().Be(setting.DigitalisierungsbeschraenkungBvw); result.Bestellkontingent.Should().Be(0); }
public void BestimmeKontingent_Von_Oe1_Should_Throw_NotImplementedException() { // arrange var setting = new DigitalisierungsbeschraenkungSettings(); var orderings = new List <Ordering>(); var sut = new KontingentBestimmer(setting); // act var action = new Action(() => { sut.BestimmeKontingent(orderings, AccessRolesEnum.Ö1, new User()); }); // assert action.Should().Throw <ArgumentOutOfRangeException>(); }
public OrderController(OrderManagerClient client, IEntityProvider entityProvider, IKontrollstellenInformer kontrollstellenInformer, IElasticService elasticService, DigitalisierungsbeschraenkungSettings digitalisierungsbeschraenkungSettings, IUserDataAccess userDataAccess) { this.client = client; this.entityProvider = entityProvider; this.kontrollstellenInformer = kontrollstellenInformer; this.elasticService = elasticService; this.digitalisierungsbeschraenkungSettings = digitalisierungsbeschraenkungSettings; this.userDataAccess = userDataAccess; }
public void BestimmeKontingent_AktiveAuftraege_Should_BeCalculatedFromOrderings_When_Ordering_Is_Digitalisierung() { // arrange var setting = new DigitalisierungsbeschraenkungSettings(); var itemsFromOrdering = new List <OrderItem> { new OrderItem { Status = OrderStatesInternal.FreigabePruefen // Zählt }, new OrderItem { Status = OrderStatesInternal.FuerDigitalisierungBereit // Zählt }, new OrderItem { Status = OrderStatesInternal.Abgebrochen // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.DigitalisierungAbgebrochen // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.ZumReponierenBereit // Zählt nicht }, new OrderItem { Status = OrderStatesInternal.Abgeschlossen // Zählt nicht } }; var orderings = new List <Ordering> { new Ordering { Type = OrderType.Digitalisierungsauftrag, Items = itemsFromOrdering.ToArray() } }; var sut = new KontingentBestimmer(setting); // act var result = sut.BestimmeKontingent(orderings, AccessRolesEnum.Ö2, new User()); // assert result.AktiveDigitalisierungsauftraege.Should().Be(2); }
public void BestimmeKontingent_Digitalisierungsbeschraekung_Should_Come_From_Settings() { // arrange var setting = new DigitalisierungsbeschraenkungSettings { DigitalisierungsbeschraenkungOe2 = 2 }; var orderings = new List <Ordering>(); var sut = new KontingentBestimmer(setting); // act var result = sut.BestimmeKontingent(orderings, AccessRolesEnum.Ö2, new User()); // assert result.Digitalisierungesbeschraenkung.Should().Be(setting.DigitalisierungsbeschraenkungOe2); }
public OrderController(IPublicOrder client, IEntityProvider entityProvider, IKontrollstellenInformer kontrollstellenInformer, IElasticService elasticService, DigitalisierungsbeschraenkungSettings digitalisierungsbeschraenkungSettings, IUserDataAccess userDataAccess, VerwaltungsausleiheSettings verwaltungsausleiheSettings, ManagementClientSettings managementClientSettings) { this.client = client; this.entityProvider = entityProvider; this.kontrollstellenInformer = kontrollstellenInformer; this.elasticService = elasticService; this.digitalisierungsbeschraenkungSettings = digitalisierungsbeschraenkungSettings; this.userDataAccess = userDataAccess; this.verwaltungsausleiheSettings = verwaltungsausleiheSettings; this.managementClientSettings = managementClientSettings; }
public void BestimmeKontingent_Von_Oe1_Should_Throw_NotImplementedException() { // arrange var setting = new DigitalisierungsbeschraenkungSettings(); var orderings = new List <Ordering>(); var sut = new KontingentBestimmer(setting); // act var action = new Action(() => { sut.BestimmeKontingent(orderings, new User { RolePublicClient = AccessRoles.RoleOe1, Access = new UserAccess("1", AccessRoles.RoleOe1, "oe1", null, false) }); }); // assert action.Should().Throw <ArgumentOutOfRangeException>(); }
public void BestimmeKontingent_Bestellkontingent_Should_Be_Zero_When_User_DisablesThreshold_Ends_Yesterday() { // arrange var setting = new DigitalisierungsbeschraenkungSettings { DigitalisierungsbeschraenkungBar = 1 }; var itemsFromOrdering = new List <OrderItem> { new OrderItem { Status = OrderStatesInternal.FreigabePruefen // Zählt }, new OrderItem { Status = OrderStatesInternal.FuerDigitalisierungBereit // Zählt } }; var orderings = new List <Ordering> { new Ordering { Type = OrderType.Digitalisierungsauftrag, // zählt Items = itemsFromOrdering.ToArray() } }; var user = new User { DigitalisierungsbeschraenkungAufgehobenBis = DateTime.Now.AddDays(-1) }; var sut = new KontingentBestimmer(setting); // act var result = sut.BestimmeKontingent(orderings, AccessRolesEnum.BAR, user); // assert result.Bestellkontingent.Should().Be(0); }
public KontingentBestimmer(DigitalisierungsbeschraenkungSettings setting) { this.setting = setting; }