public void AddsTheCourierToListOfValidCouriers_WhenModelIsValidAndCourierDoesNotExist() { //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); //Act importService.ExposedImportCouriersFunction(); //Assert Assert.IsTrue(importService.ExposedValidCouriers.Any(a => a.FirstName == fakeCourier.FirstName && a.LastName == fakeCourier.LastName)); }
public void ReturnCorrectMessage_WhenMethodReturns() { //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 fakeCourier1 = new CourierImportModel() { FirstName = "Pesho", LastName = "Goshov" }; var fakeCourier2 = new CourierImportModel(); fakeJsonService.Setup(s => s.DeserializeCouriers(It.IsAny <string>())).Returns(new[] { fakeCourier1, fakeCourier2 }); 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, mockCourierService.Object, fakeSupplierService.Object, fakeFileReader.Object, fakeValidator.Object, fakeJsonService.Object); string expectedMessage = $"Courier {fakeCourier1.FirstName} {fakeCourier1.LastName} added successfully!\r\n" + "Import rejected. Input is with invalid format.\r\n"; //Act string actualMessage = importService.ExposedImportCouriersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }
public void ReturnsCorrectMessage_WhenModelIsValidAndCourierExists() { //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(true); 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} already exists!\r\n"; //Act string actualMessage = importService.ExposedImportCouriersFunction(); //Assert Assert.AreEqual(expectedMessage, actualMessage); }