public async Task CreateAsync_GoodParams_ReturnSupplyId() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply { Id = 1, Count = 1, ProvideDate = DateTimeOffset.Now, Provider = new Provider() { Name = "Лютик" }, EquipmentType = new EquipmentType("Молоток"), ProviderId = 1, EquipmentTypeId = 1 }; //Act long supplyId = await new SuppliesService(suppliesUnitOfWorkStub) .CreateAsync(supply); //Assert Assert.True(supply.Id == supplyId); }
public async Task GetAllAsync_GoodParams_ReturnOnlyOnes() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); suppliesUnitOfWorkStub.Supplies.GetAllExtendedAsync(Arg.Any <bool>(), Arg.Any <DatePeriod>()) .Returns(info => new List <Supply> { new Supply(1, 1, DateTimeOffset.Now, 10) { Id = 1, Provider = new Provider() { Name = "Лютик" }, EquipmentType = new EquipmentType("Молоток") } }); //Act IEnumerable <Supply> supplies = await new SuppliesService(suppliesUnitOfWorkStub) .GetAllAsync(true, null); //Assert Assert.Single(supplies); }
public async Task ModifyAsync_GoodParams_ReturnOk() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply(1, 1, DateTimeOffset.Now, 10) { Id = 1, IsDelete = false, Provider = new Provider() { Name = "Лютик" }, EquipmentType = new EquipmentType("Молоток") }; //Act SuppliesService suppliesService = new SuppliesService(suppliesUnitOfWorkStub); //await suppliesService.CreateAsync(supply); //Assert Exception ex = await Record.ExceptionAsync(() => suppliesService.ModifyAsync(supply)); Assert.Null(ex); }
public async Task CreateRangeAsync_BadParams_AlwaysException() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); //Act SuppliesService suppliesService = new SuppliesService(suppliesUnitOfWorkStub); //Assert await Assert.ThrowsAsync <ArgumentNullException>(() => suppliesService.CreateAsync(null)); }
public async Task RemoveAsync_GoodParams_ReturnOkAndSupplyIsDeleted() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply { Id = 5, EquipmentTypeName = "Наименование" }; //Act await new SuppliesService(suppliesUnitOfWorkStub).RemoveAsync(supply); //Assert Assert.True(supply.IsDelete); }
public async Task ModifyAsync_GoodParamsButHasDeleted_AlwaysException() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply { Id = 5, EquipmentTypeName = "Наименование", IsDelete = true }; //Act SuppliesService suppliesService = new SuppliesService(suppliesUnitOfWorkStub); //Assert await Assert.ThrowsAsync <InvalidOperationException>(() => suppliesService.ModifyAsync(supply)); }
public async Task GetAllAsync_GoodParams_ReturnEmpty() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); suppliesUnitOfWorkStub.Supplies.GetAllExtendedAsync(Arg.Any <bool>(), Arg.Any <DatePeriod>()) .Returns(info => new List <Supply>()); //Act IEnumerable <Supply> supplies = await new SuppliesService(suppliesUnitOfWorkStub) .GetAllAsync(true, new DatePeriod(DateTimeOffset.Now)); //Assert Assert.Empty(supplies); }
public async Task GetAsync_GoodParams_ReturnEmpty() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); suppliesUnitOfWorkStub.Supplies.GetExtendedAsync(Arg.Any <long>()) .Returns(info => (Supply)null); //Act Supply supply = await new SuppliesService(suppliesUnitOfWorkStub) .GetAsync(5); //Assert Assert.Null(supply); }
public async Task RemoveAsync_GoodParams_ReturnOk() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply { Id = 5, EquipmentTypeName = "Наименование" }; //Act SuppliesService suppliesService = new SuppliesService(suppliesUnitOfWorkStub); //Assert Exception ex = await Record.ExceptionAsync(() => suppliesService.RemoveAsync(supply)); Assert.Null(ex); Assert.True(supply.IsDelete); }
public async Task GetAsync_GoodParams_ReturnOnlyOnes() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); suppliesUnitOfWorkStub.Supplies.GetExtendedAsync(Arg.Any <long>()) .Returns(info => new Supply { Id = 5, EquipmentTypeName = "Наименование" }); //Act Supply supply = await new SuppliesService(suppliesUnitOfWorkStub) .GetAsync(5); //Assert Assert.Equal("Наименование", supply.EquipmentTypeName); }
public async Task ModifyAsync_GoodParamsButHasDeleted_AlwaysExceptionWithMessage() { //Arrange ISuppliesUnitOfWork suppliesUnitOfWorkStub = Substitute.For <ISuppliesUnitOfWork>(); Supply supply = new Supply { Id = 5, EquipmentTypeName = "Наименование", IsDelete = true }; //Act SuppliesService suppliesService = new SuppliesService(suppliesUnitOfWorkStub); //Assert InvalidOperationException ex = await Assert.ThrowsAsync <InvalidOperationException>(() => suppliesService.ModifyAsync(supply)); Assert.Contains("Операция редактирования отменена. Запрещено модифицировать удаленную поставку", ex.Message); }