public void CreateFieldsUsecase_GivenInvalidFields_ShouldNotExcutePopulateAndReadOnly() { //Arrange var fileName = "BootCampForm-v2.pdf"; var baseDirectory = TestContext.CurrentContext.TestDirectory + "\\TestData\\"; var currentFilePath = Path.Combine(baseDirectory, fileName); var templateByte = File.ReadAllBytes(currentFilePath); var inputData = new List <PdfFields> { new PdfFields { FieldName = "Firstname", FieldValue = "Tembe" } }; var pdfOperations = new PdfOperations(); var sut = new PopulatePdfUseCase(pdfOperations); //Act var actual = sut.Execute(templateByte, inputData); //Assert actual.Output.Length.Should().Be(0); }
public void CreateFieldsUsecase_GivenValidFields_ShouldExcutePopulateAndReadOnly() { //Arrange var response = new PdfFieldsOperationsResponse { Output = new byte[512] }; var templateByte = new byte[362]; var inputData = new List <PdfFields> { new PdfFields { FieldName = "Surname", FieldValue = "Tembe" } }; var fieldsSubstitute = Substitute.For <IPdfOperations>(); fieldsSubstitute.PopulateFieldValues(Arg.Any <byte[]>(), Arg.Any <List <PdfFields> >()).Returns(response); fieldsSubstitute.MarkFieldsReadOnly(Arg.Any <byte[]>(), Arg.Any <List <PdfFields> >()).Returns(response); var sut = new PopulatePdfUseCase(fieldsSubstitute); //Act var actual = sut.Execute(templateByte, inputData); //Assert fieldsSubstitute.Received().PopulateFieldValues(Arg.Any <byte[]>(), Arg.Any <List <PdfFields> >()); fieldsSubstitute.Received().MarkFieldsReadOnly(Arg.Any <byte[]>(), Arg.Any <List <PdfFields> >()); }