public void ReturnCorrectMessage_WhenMethodReturns() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var mockSupplierService = new Mock <ISupplierService>(); mockSupplierService.Setup(s => s.SupplierExistsByName(It.IsAny <string>())).Returns(false); var fakeJsonService = new Mock <IJsonService>(); var fakeSupplier1 = new SuppliersImportModel { Name = "Pesho" }; var fakeSupplier2 = new SuppliersImportModel(); fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { fakeSupplier1, fakeSupplier2 }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.SetupSequence(s => s.IsValid(It.IsAny <object>())).Returns(true).Returns(false); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, mockSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); string expectedMessage = $"Supplier {fakeSupplier1.Name} added successfully!\r\n" + "Import rejected. Input is with invalid format.\r\n"; //Act string actualMessage = importService.ExposedImportSuppliersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void AddsTheSupplierToListOfValidSuppliers_WhenModelIsValidAndSupplierDoesNotExist() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var mockSupplierService = new Mock <ISupplierService>(); mockSupplierService.Setup(s => s.SupplierExistsByName(It.IsAny <string>())).Returns(false); var fakeJsonService = new Mock <IJsonService>(); var fakeSupplier = new SuppliersImportModel { Name = "Pesho", }; fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { fakeSupplier }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, mockSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); //Act importService.ExposedImportSuppliersFunction(); //Assert Assert.IsTrue(importService.ExposedValidSuppliers.Any(a => a.Name == fakeSupplier.Name)); }
public void InvokeAddSupplierRange_WhenAllSuppliersAreValidated() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var mockSupplierService = new Mock <ISupplierService>(); mockSupplierService.Setup(s => s.SupplierExistsByName(It.IsAny <string>())).Returns(false); var fakeJsonService = new Mock <IJsonService>(); var fakeSupplier = new SuppliersImportModel(); fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { fakeSupplier }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, mockSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); //Act importService.ExposedImportSuppliersFunction(); //Assert mockSupplierService.Verify(v => v.AddSupplierRange(It.IsAny <IList <ISuppliersImportModel> >()), Times.Once); }
public void ReturnsCorrectMessage_WhenModelIsValidAndSupplierExists() { //Arrange var fakekProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var mockSupplierService = new Mock <ISupplierService>(); mockSupplierService.Setup(s => s.SupplierExistsByName(It.IsAny <string>())).Returns(true); var fakeJsonService = new Mock <IJsonService>(); var fakeSupplier = new SuppliersImportModel { Name = "Pesho" }; fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { fakeSupplier }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(fakekProductService.Object, fakeCourierService.Object, mockSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); string expectedMessage = $"Supplier {fakeSupplier.Name} already exists!\r\n"; //Act string actualMessage = importService.ExposedImportSuppliersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void ReturnsValidMessage_WhenCourierIsAdded() { //Arrange var fakeProductService = new Mock <IProductService>(); var mockCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); mockCourierService.Setup(s => s.CourierExistsByName(It.IsAny <string>(), It.IsAny <string>())).Returns(false); var fakeJsonService = new Mock <IJsonService>(); var fakeCourier = new CourierImportModel() { FirstName = "Pesho", LastName = "Goshov" }; fakeJsonService.Setup(s => s.DeserializeCouriers(It.IsAny <string>())).Returns(new[] { fakeCourier }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(fakeProductService.Object, mockCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); string expectedMessage = $"Courier {fakeCourier.FirstName} {fakeCourier.LastName} added successfully!\r\n"; //Act string actualMessage = importService.ExposedImportCouriersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void ReturnsValidMessage_WhenProductIsAdded() { //Arrange var mockProductService = new Mock <IProductService>(); mockProductService.Setup(s => s.ProductExistsByName(It.IsAny <string>())).Returns(false); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var fakeJsonService = new Mock <IJsonService>(); var fakeProduct = new ProductImportModel { Name = "test", Quantity = 5 }; fakeJsonService.Setup(s => s.DeserializeProducts(It.IsAny <string>())).Returns(new[] { fakeProduct }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(mockProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); string expectedMessage = $"{fakeProduct.Quantity} items of product {fakeProduct.Name} added successfully!\r\n"; //Act string actualMessage = importService.ExposedImportProductsFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void InvokeJsonread_ToDeserializeImportString() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var mockJsonService = new Mock <IJsonService>(); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, mockJsonService.Object); //Act importService.ExposedImportSuppliersFunction(); //Assert mockJsonService.Verify(v => v.DeserializeSuppliers(It.IsAny <string>()), Times.Exactly(1)); }
public void InvokeImportProductsImportCouriersAndImportSuppliers() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); var fakeJsonService = new Mock <IJsonService>(); var mockImportService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); var expectedResult = "Suppliers method invoked!" + Environment.NewLine + "Courier method invoked!" + Environment.NewLine + "Products Method Invoked!"; //Act var actualResult = mockImportService.Import(); //Assert Assert.AreEqual(expectedResult, actualResult); }
public void InvokeValidator_ToValidateObject() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var fakeJsonService = new Mock <IJsonService>(); fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { new SuppliersImportModel() }); var fakeFileReader = new Mock <IFileReader>(); var mockValidator = new Mock <IValidator>(); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, mockValidator.Object, fakeJsonService.Object); //Act importService.ExposedImportSuppliersFunction(); //Assert mockValidator.Verify(v => v.IsValid(It.IsAny <object>()), Times.Exactly(1)); }
public void ReturnInvalidInputMessage_WhenModelIsInvalid() { //Arrange var fakeProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var fakeJsonService = new Mock <IJsonService>(); fakeJsonService.Setup(s => s.DeserializeSuppliers(It.IsAny <string>())).Returns(new[] { new SuppliersImportModel() }); var fakeFileReader = new Mock <IFileReader>(); var mockValidator = new Mock <IValidator>(); mockValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(false); var importService = new MockImportService(fakeProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, mockValidator.Object, fakeJsonService.Object); string expectedMessage = "Import rejected. Input is with invalid format.\r\n"; //Act string actualMessage = importService.ExposedImportSuppliersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void InvokeProductExistsByName_WhenModelIsValid() { //Arrange var mockProductService = new Mock <IProductService>(); var fakeCourierService = new Mock <ICourierService>(); var fakeSupplierService = new Mock <ISupplierService>(); var fakeJsonService = new Mock <IJsonService>(); fakeJsonService.Setup(s => s.DeserializeProducts(It.IsAny <string>())).Returns(new[] { new ProductImportModel() }); var fakeFileReader = new Mock <IFileReader>(); var fakeValidator = new Mock <IValidator>(); fakeValidator.Setup(s => s.IsValid(It.IsAny <object>())).Returns(true); var importService = new MockImportService(mockProductService.Object, fakeCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); //Act importService.ExposedImportProductsFunction(); //Assert mockProductService.Verify(v => v.ProductExistsByName(It.IsAny <string>()), Times.Exactly(1)); }