예제 #1
0
		public async void LinksByLinkStatusId_Not_Exists()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();
			mock.RepositoryMock.Setup(x => x.LinksByLinkStatusId(default(int), It.IsAny<int>(), It.IsAny<int>())).Returns(Task.FromResult<List<Link>>(new List<Link>()));
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			List<ApiLinkServerResponseModel> response = await service.LinksByLinkStatusId(default(int));

			response.Should().BeEmpty();
			mock.RepositoryMock.Verify(x => x.LinksByLinkStatusId(default(int), It.IsAny<int>(), It.IsAny<int>()));
		}
예제 #2
0
		public async void ByName_Not_Exists()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();
			mock.RepositoryMock.Setup(x => x.ByName(It.IsAny<string>())).Returns(Task.FromResult<LinkStatus>(null));
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			ApiLinkStatusServerResponseModel response = await service.ByName("test_value");

			response.Should().BeNull();
			mock.RepositoryMock.Verify(x => x.ByName(It.IsAny<string>()));
		}
예제 #3
0
		public async void Get_ShouldReturnNullBecauseRecordNotFound()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();

			mock.RepositoryMock.Setup(x => x.Get(It.IsAny<int>())).Returns(Task.FromResult<LinkStatus>(null));
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			ApiLinkStatusServerResponseModel response = await service.Get(default(int));

			response.Should().BeNull();
			mock.RepositoryMock.Verify(x => x.Get(It.IsAny<int>()));
		}
예제 #4
0
		public async void All_ShouldReturnRecords()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();
			var records = new List<LinkStatus>();
			records.Add(new LinkStatus());
			mock.RepositoryMock.Setup(x => x.All(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>())).Returns(Task.FromResult(records));
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			List<ApiLinkStatusServerResponseModel> response = await service.All();

			response.Should().HaveCount(1);
			mock.RepositoryMock.Verify(x => x.All(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>()));
		}
예제 #5
0
        public async void Get()
        {
            var mock   = new ServiceMockFacade <ILinkStatusRepository>();
            var record = new LinkStatus();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(record));
            var service = new LinkStatusService(mock.LoggerMock.Object,
                                                mock.RepositoryMock.Object,
                                                mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
                                                mock.BOLMapperMockFactory.BOLLinkStatusMapperMock,
                                                mock.DALMapperMockFactory.DALLinkStatusMapperMock,
                                                mock.BOLMapperMockFactory.BOLLinkMapperMock,
                                                mock.DALMapperMockFactory.DALLinkMapperMock);

            ApiLinkStatusResponseModel response = await service.Get(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
예제 #6
0
        public async void Create()
        {
            var mock  = new ServiceMockFacade <ILinkStatusRepository>();
            var model = new ApiLinkStatusRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <LinkStatus>())).Returns(Task.FromResult(new LinkStatus()));
            var service = new LinkStatusService(mock.LoggerMock.Object,
                                                mock.RepositoryMock.Object,
                                                mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
                                                mock.BOLMapperMockFactory.BOLLinkStatusMapperMock,
                                                mock.DALMapperMockFactory.DALLinkStatusMapperMock,
                                                mock.BOLMapperMockFactory.BOLLinkMapperMock,
                                                mock.DALMapperMockFactory.DALLinkMapperMock);

            CreateResponse <ApiLinkStatusResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiLinkStatusRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <LinkStatus>()));
        }
예제 #7
0
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <ILinkStatusRepository>();
            var model = new ApiLinkStatusRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new LinkStatusService(mock.LoggerMock.Object,
                                                mock.RepositoryMock.Object,
                                                mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
                                                mock.BOLMapperMockFactory.BOLLinkStatusMapperMock,
                                                mock.DALMapperMockFactory.DALLinkStatusMapperMock,
                                                mock.BOLMapperMockFactory.BOLLinkMapperMock,
                                                mock.DALMapperMockFactory.DALLinkMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
        }
예제 #8
0
		public async void Delete_ErrorsOccurred_ShouldReturnErrorResponse()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();
			var model = new ApiLinkStatusServerRequestModel();
			var validatorMock = new Mock<IApiLinkStatusServerRequestModelValidator>();
			validatorMock.Setup(x => x.ValidateDeleteAsync(It.IsAny<int>())).Returns(Task.FromResult(new FluentValidation.Results.ValidationResult(new List<ValidationFailure>() { new ValidationFailure("text", "test") })));
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    validatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			ActionResponse response = await service.Delete(default(int));

			response.Should().NotBeNull();
			response.Success.Should().BeFalse();
			validatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny<int>()));
			mock.MediatorMock.Verify(x => x.Publish(It.IsAny<LinkStatusDeletedNotification>(), It.IsAny<CancellationToken>()), Times.Never());
		}
예제 #9
0
		public async void Delete_NoErrorsOccurred_ShouldReturnResponse()
		{
			var mock = new ServiceMockFacade<ILinkStatusService, ILinkStatusRepository>();
			var model = new ApiLinkStatusServerRequestModel();
			mock.RepositoryMock.Setup(x => x.Delete(It.IsAny<int>())).Returns(Task.CompletedTask);
			var service = new LinkStatusService(mock.LoggerMock.Object,
			                                    mock.MediatorMock.Object,
			                                    mock.RepositoryMock.Object,
			                                    mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Object,
			                                    mock.DALMapperMockFactory.DALLinkStatusMapperMock,
			                                    mock.DALMapperMockFactory.DALLinkMapperMock);

			ActionResponse response = await service.Delete(default(int));

			response.Should().NotBeNull();
			response.Success.Should().BeTrue();
			mock.RepositoryMock.Verify(x => x.Delete(It.IsAny<int>()));
			mock.ModelValidatorMockFactory.LinkStatusModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny<int>()));
			mock.MediatorMock.Verify(x => x.Publish(It.IsAny<LinkStatusDeletedNotification>(), It.IsAny<CancellationToken>()));
		}