Example #1
0
        public async Task PutShouldReturnReturnOkResultWithModelDataUpdated()
        {
            // Arrange
            var model = new Campaign {
                Id = 1
            };

            var datetimeoffset = DateTimeOffset.UtcNow;

            Mock.Arrange(() => DateTimeOffset.UtcNow).Returns(datetimeoffset);

            var userid      = Guid.NewGuid().ToString();
            var fakeContext = Mock.Create <HttpContext>(Constructor.Mocked);

            Mock.Arrange(() => HttpContext.Current).Returns(fakeContext);
            Mock.Arrange(() => HttpContext.Current.User.Identity.GetUserId()).Returns(userid);

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.UpdateAsync(model).Returns(Task.FromResult(true));

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Put(2, model);

            // Assert
            var viewResult = Assert.IsType <OkNegotiatedContentResult <Campaign> >(result);

            Assert.Equal(viewResult.Content.UserId, userid);
            Assert.Equal(viewResult.Content.ModifiedDate, datetimeoffset);
            Assert.Equal(viewResult.Content.Id, 2);
        }
        public void AddCampaignMethod_CompleteRequest_Correct()
        {
            var dbLayer = new EfAdvertDbService(new s19191Context());

            var cont = new CampaignsController(dbLayer);

            var result = cont.AddCampaign(new AddCampaignRequest
            {
                IdClient            = 1,
                StartDate           = DateTime.Today,
                EndDate             = DateTime.Today.AddDays(2),
                PricePerSquareMeter = 35,
                FromIdBuilding      = 2,
                ToIdBuilding        = 5
            });

            Assert.IsNotNull(result);
            Assert.IsTrue(result is ObjectResult);
            var vr = (ObjectResult)result;

            Assert.IsNotNull(vr.Value);
            var vm = (AddCampaignResponse)vr.Value;

            Assert.IsNotNull(vm);
            Assert.IsTrue(Decimal.Compare(vm.TotalPrice, 1837.50m) == 0);
            Assert.IsTrue(vm.Campaign.IdClient == 1);
        }
Example #3
0
        public CampaignsControllerTest()
        {
            _clientsMockDbService   = new Mock <IClientDbService>();
            _campaignsMockDbService = new Mock <ICampaignsDbService>();

            _campaignsController =
                new CampaignsController(_campaignsMockDbService.Object, _clientsMockDbService.Object);
        }
Example #4
0
 public void Dispose()
 {
     _controller = null;
     _controllerToValidatePut = null;
     _mapper = null;
     _controllerToValidatePut?.Dispose();
     _controller?.Dispose();
 }
Example #5
0
        public void PostCampaign_ShouldReturnCampaign()
        {
            var repositoryMock = new Mock <ICampaignRepository <Campaign> >();

            repositoryMock.Setup(x => x.AddCampaign(It.IsAny <Campaign>())).Returns(It.IsAny <string>);

            var controller = new CampaignsController(repositoryMock.Object);
            var campaign   = controller.PostCampaign(campaignDto);

            Assert.IsNotNull(campaign);
        }
Example #6
0
        public void GetCampaigns()
        {
            // Arrange
            var controller = new CampaignsController();

            // Act
            IQueryable <object> result = controller.GetCampaigns();

            // Assert
            Assert.IsNotNull(result);
        }
Example #7
0
        public void Campaigns_ShouldReturnDataTableResponse()
        {
            var repositoryMock = new Mock <ICampaignRepository <Campaign> >();

            repositoryMock.Setup(x => x.GetPaginated(It.IsAny <bool>(), It.IsAny <int>(), It.IsAny <int>(), out recordsTotal, out recordsFiltered)).Returns(campaigns);

            var controller = new CampaignsController(repositoryMock.Object);
            var result     = controller.Campaigns(1, 0, 10, false);

            CollectionAssert.Equals(campaigns, result.Data);
        }
        public IndexTests()
        {
            _mockRepo   = new Mock <ICampaignRepository>();
            _mockLogger = new Mock <ILogger <CampaignRepository> >();
            var mapperConfig = new MapperConfiguration(c =>
            {
                c.AddProfile(new Maps());
            });

            _mapper = mapperConfig.CreateMapper();
            _sut    = new CampaignsController(_mockRepo.Object, _mockLogger.Object, _mapper);
        }
        public async Task OnInit()
        {
            AssumeDependenciesAreMocked();
            AssumeDependenciesAreSupplied();

            _mapper            = AutoMapperInitializer.Initialize(expression => expression.AddProfile <CampaignProfile>());
            _campaignFlattener = new CampaignFlattener(_mockProductRepository.Object, _mockDemographicRepository.Object,
                                                       _mockClashRepository.Object, _mapper);
            _controller = new CampaignsController(_mockCampaignRepository.Object, null, null, _mapper,
                                                  _mockDemographicRepository.Object, null, _mockProductRepository.Object,
                                                  null, null, null, _mockClashRepository.Object, null, null,
                                                  _campaignFlattener, _mockCampaignCleaner.Object, null);
        }
Example #10
0
        private void AssumeTargetIsInitialised()
        {
            var flattener = new CampaignFlattener(ProductRepository.Object, DemographicRepository.Object,
                                                  null, Mapper);
            var campaignPassPrioritiesService = new CampaignPassPrioritiesService(
                CampaignRepository.Object,
                Mapper,
                PassRepository.Object,
                ScenarioRepository.Object);

            Target = new CampaignsController(CampaignRepository.Object, null, null,
                                             Mapper, DemographicRepository.Object,
                                             SalesAreaRepository.Object, ProductRepository.Object,
                                             CampaignExcelReportGenerator.Object, ReportColumnFormatter.Object,
                                             null, null, ProgrammeCategoryRepository.Object, FeatureManager.Object,
                                             flattener, CampaignCleaner.Object, campaignPassPrioritiesService);
        }
Example #11
0
        public void GetCampaignsMethod_CompleteRequest_Correct()
        {
            var dbLayer = new EfAdvertDbService(new s19191Context());

            var cont = new CampaignsController(dbLayer);

            var result = cont.GetCampaings();

            Assert.IsNotNull(result);
            Assert.IsTrue(result is ObjectResult);
            var vr = (ObjectResult)result;

            Assert.IsNotNull(vr.Value);
            var vm = (IEnumerable <GetCampaignsResponse>)vr.Value;

            Assert.IsNotNull(vm);
            Assert.IsTrue(vm.Any());
        }
Example #12
0
        public async Task GetWithParamsShouldReturnOkResult()
        {
            // Arrange
            var fakeSql = Substitute.For <IDatabase>();

            var fakeContext = Mock.Create <HttpContext>(Constructor.Mocked);

            Mock.Arrange(() => HttpContext.Current).Returns(fakeContext);

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Get(1);

            // Assert
            var viewResult = Assert.IsType <OkNegotiatedContentResult <Campaign> >(result);

            Assert.NotNull(viewResult);
        }
Example #13
0
        public async Task DeleteShouldReturnOkResultWithModelId()
        {
            // Arrange
            var model = new Campaign();

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.DeleteAsync(model).ReturnsForAnyArgs(Task.FromResult(true));

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Delete(1);

            // Assert
            var viewResult = Assert.IsType <OkNegotiatedContentResult <int> >(result);

            Assert.Equal(viewResult.Content, 1);
        }
Example #14
0
        public async Task DeleteShouldReturnBadRequestResultWhenResultFalse()
        {
            // Arrange
            var model = new Campaign();

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.DeleteAsync(model).ReturnsForAnyArgs(Task.FromResult(false));

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Delete(1);

            // Assert
            var viewResult = Assert.IsType <BadRequestResult>(result);

            Assert.NotNull(viewResult);
        }
Example #15
0
        protected CampaignsController CreateController(IRegisteredUser administrator)
        {
            var controller = new CampaignsController(
                Resolve <ICampaignsCommand>(),
                Resolve <ICampaignsQuery>(),
                null,
                null,
                Resolve <ISettingsQuery>(),
                _industriesQuery,
                _communitiesQuery,
                Resolve <IAdministratorsQuery>(),
                Resolve <ILoginCredentialsQuery>(),
                Resolve <IEmployersQuery>(),
                Resolve <IMembersQuery>(),
                _locationQuery);

            controller.MockContext(administrator);
            controller.ViewData["CurrentRegisteredUser"] = administrator;
            return(controller);
        }
        public void AddCampaignMethod_CompleteRequest_Correct()
        {
            var dbLayer = new Mock <IAdvertDbService>();
            AddCampaignRequest request = new AddCampaignRequest
            {
                IdClient            = 1,
                StartDate           = DateTime.Today,
                EndDate             = DateTime.Today.AddDays(2),
                PricePerSquareMeter = 25,
                FromIdBuilding      = 1,
                ToIdBuilding        = 4
            };

            dbLayer.Setup(d => d.AddCampaign(request))
            .Returns(new AddCampaignResponse
            {
                Campaign = new Campaign
                {
                    IdCampaign = 1,
                    IdClient   = 1,
                },
                TotalPrice = 25
            });

            var cont = new CampaignsController(dbLayer.Object);

            var result = cont.AddCampaign(request);

            Assert.IsNotNull(result);
            Assert.IsTrue(result is ObjectResult);
            var vr = (ObjectResult)result;

            Assert.IsNotNull(vr.Value);
            var vm = (AddCampaignResponse)vr.Value;

            Assert.IsNotNull(vm);
            Assert.IsTrue(vm.TotalPrice == 25);
            Assert.IsTrue(vm.Campaign.IdCampaign == 1);
            Assert.IsTrue(vm.Campaign.IdClient == 1);
        }
Example #17
0
        public EditTests()
        {
            _mockRepo   = new Mock <ICampaignRepository>();
            _mockLogger = new Mock <ILogger <CampaignRepository> >();
            var mapperConfig = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new Maps());
            });

            _mapper    = mapperConfig.CreateMapper();
            _sut       = new CampaignsController(_mockRepo.Object, _mockLogger.Object, _mapper);
            _savedCamp = new Campaign
            {
                CampaignId   = 1,
                CampaignName = "test"
            };
            _updatedCamp = new CampaignVM
            {
                CampaignId   = 1,
                CampaignName = "changed"
            };
        }
Example #18
0
        public async Task PostShouldReturnOkResultWhenResultGreaterThanOne()
        {
            // Arrange
            var model = new Campaign();

            var fakeContext = Mock.Create <HttpContext>(Constructor.Mocked);

            Mock.Arrange(() => HttpContext.Current).Returns(fakeContext);

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.CreateAsync(model).Returns(Task.FromResult(1));

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Post(model);

            // Assert
            var viewResult = Assert.IsType <OkNegotiatedContentResult <Campaign> >(result);

            Assert.NotNull(viewResult);
        }
Example #19
0
        public async Task PutShouldReturnBadRequestResultWhenResultFalse()
        {
            // Arrange
            var model = new Campaign();

            var fakeContext = Mock.Create <HttpContext>(Constructor.Mocked);

            Mock.Arrange(() => HttpContext.Current).Returns(fakeContext);

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.UpdateAsync(model).Returns(Task.FromResult(false));

            var controller = new CampaignsController(fakeSql);

            // Act
            var result = await controller.Put(1, model);

            // Assert
            var viewResult = Assert.IsType <BadRequestResult>(result);

            Assert.NotNull(viewResult);
        }
Example #20
0
        public async Task PutShouldReturnInvalidModelStateResultWhenInvalidModel()
        {
            // Arrange
            var model = new Campaign();

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.CreateAsync(model).Returns(Task.FromResult(1));

            var controller = new CampaignsController(fakeSql)
            {
                Configuration = new HttpConfiguration()
            };

            controller.ModelState.AddModelError("FakeError", "This is a Fake Error!");

            // Act
            var result = await controller.Put(1, model);

            // Assert
            var viewResult = Assert.IsType <InvalidModelStateResult>(result);

            Assert.NotNull(viewResult);
        }
Example #21
0
        public void Init()
        {
            _campaigns = CreateValidCampaignObjectList();

            _mapper = new Mapper(new MapperConfiguration(expression => expression.AddProfile <CampaignProfile>()));

            _mockCampaignRepository          = new Mock <ICampaignRepository>();
            _mockDemographicRepository       = new Mock <IDemographicRepository>();
            _mockRecommendationRepository    = new Mock <IRecommendationRepository>();
            _mockMetadataRepository          = new Mock <IMetadataRepository>();
            _mockProgrammeCategoryRepository = new Mock <IProgrammeCategoryHierarchyRepository>();
            _mockSalesAreaRepository         = new Mock <ISalesAreaRepository>();
            _mockProductRepository           = new Mock <IProductRepository>();
            _mockDataChangeValidator         = new Mock <IDataChangeValidator>();
            _mockCampaignExcelGenerator      = new Mock <ICampaignExcelReportGenerator>();
            _mockReportColumnFormatter       = new Mock <IReportColumnFormatter>();
            _mockFeatureManager  = new Mock <IFeatureManager>();
            _mockCampaignCleaner = new Mock <ICampaignCleaner>();

            _ = _mockFeatureManager
                .Setup(p => p.IsEnabled(It.Is <string>(e => e == nameof(ProductFeature.IncludeChannelGroupFileForOptimiser))))
                .Returns(true);

            var flattener = new CampaignFlattener(
                _mockProductRepository.Object,
                _mockDemographicRepository.Object,
                null,
                _mapper);

            _controller = new CampaignsController(
                null,
                null,
                null,
                null,
                _mockDemographicRepository.Object,
                _mockSalesAreaRepository.Object,
                _mockProductRepository.Object,
                _mockCampaignExcelGenerator.Object,
                _mockReportColumnFormatter.Object,
                null,
                null,
                _mockProgrammeCategoryRepository.Object,
                _mockFeatureManager.Object,
                flattener,
                _mockCampaignCleaner.Object,
                null);

            _controllerToValidatePut = new CampaignsController(
                _mockCampaignRepository.Object,
                _mockRecommendationRepository.Object,
                _mockDataChangeValidator.Object,
                _mapper,
                _mockDemographicRepository.Object,
                _mockSalesAreaRepository.Object,
                _mockProductRepository.Object,
                _mockCampaignExcelGenerator.Object,
                _mockReportColumnFormatter.Object,
                null,
                null,
                _mockProgrammeCategoryRepository.Object,
                _mockFeatureManager.Object,
                flattener,
                _mockCampaignCleaner.Object,
                null);

            _fixture = new SafeFixture();
        }
 public CampaignTest()
 {
     _service    = new CampaignsData();
     _controller = new CampaignsController(_service);
 }
Example #23
0
 public void Cleanup()
 {
     _controller = null;
     _controllerToValidatePut = null;
     _mapper = null;
 }
Example #24
0
        public void GetCampaignsMethod_CompleteRequest_Correct()
        {
            var dbLayer = new Mock <IAdvertDbService>();

            dbLayer.Setup(d => d.GetCampaigns()).Returns(new List <GetCampaignsResponse>
            {
                new GetCampaignsResponse
                {
                    campaign = new Campaign
                    {
                        IdCampaign = 2,
                        IdClient   = 3,
                        Banner     = new List <Banner>
                        {
                            new Banner
                            {
                                IdAdvertisement = 2,
                            }
                        }
                    },
                    client = new Client
                    {
                        IdClient = 3
                    }
                },
                new GetCampaignsResponse
                {
                    campaign = new Campaign
                    {
                        IdCampaign = 1,
                        IdClient   = 1,
                        Banner     = new List <Banner>
                        {
                            new Banner
                            {
                                IdAdvertisement = 1,
                            }
                        }
                    },
                    client = new Client
                    {
                        IdClient = 1
                    }
                }
            });

            var cont = new CampaignsController(dbLayer.Object);

            var result = cont.GetCampaings();

            Assert.IsNotNull(result);
            Assert.IsTrue(result is ObjectResult);
            var vr = (ObjectResult)result;

            Assert.IsNotNull(vr.Value);
            var vm = (IEnumerable <GetCampaignsResponse>)vr.Value;

            Assert.IsNotNull(vm);
            Assert.IsTrue(vm.Count() == 2);
            Assert.IsTrue(vm.ElementAt(0).campaign.IdCampaign == 2);
            Assert.IsTrue(vm.ElementAt(1).client.IdClient == 1 && vm.ElementAt(1).campaign.Banner.ElementAt(0).IdAdvertisement == 1);
        }