public void SubmitEnquiryValidationTests()
        {
            //Arrange

            //setup Empty addressViewModel
            var addressViewModelBuilder =
                new AddressViewModelBuilder().Build();
            //setup empty employerEnquiryViewModel
            var employerEnquiryViewModel = new EmployerEnquiryViewModelBuilder()
                                           .Address(addressViewModelBuilder)
                                           .Build();

            Mock <IReferenceDataMediator> referenceDataMediator = new Mock <IReferenceDataMediator>();

            referenceDataMediator.Setup(c => c.GetReferenceData(It.IsAny <ReferenceDataTypes>()))
            .Returns(new MediatorResponse <ReferenceDataListViewModel>()
            {
                ViewModel = new ReferenceDataListViewModel()
            });

            var mediator = new EmployerEnquiryMediatorBuilder().With(referenceDataMediator).Build();

            //Act
            var response = mediator.SubmitEnquiry(employerEnquiryViewModel);

            //Assert
            response.Code.Should().Be(EmployerEnquiryMediatorCodes.SubmitEnquiry.ValidationError);
            response.ViewModel.Should().Be(employerEnquiryViewModel);
            response.ValidationResult.Should().NotBeNull();
        }
        public void SubmitEnquiryTests(SubmitQueryStatus submitQueryStatus, string mediatorCode, string pageMessage, UserMessageLevel userMessageLevel)
        {
            //Arrange
            string firstname          = "First",
                   lastname           = "Last",
                   companyname        = "companyName",
                   email              = "*****@*****.**",
                   employeeCount      = "100",
                   enquiryDescription = "test query",
                   enquirySource      = "Telephone Call",
                   title              = "Mr",
                   prevExp            = "Yes",
                   position           = "Position",
                   workSector         = "retail",
                   phoneNumber        = "0987654321",
                   mobile             = "1234567890",
                   address1           = "Line1",
                   city                 = "City",
                   postcode             = "Postcode";
            var addressViewModelBuilder =
                new AddressViewModelBuilder().AddressLine1(address1).City(city).Postcode(postcode).Build();

            var employerEnquiryViewModel = new EmployerEnquiryViewModelBuilder().Firstname(firstname).Lastname(lastname).MobileNumber(mobile)
                                           .PhoneNumber(phoneNumber).Position(position).PrevExp(prevExp).Title(title)
                                           .WorkSector(workSector)
                                           .EnquirySource(enquirySource).EnquiryDescription(enquiryDescription).EmployeeCount(employeeCount)
                                           .Email(email).Companyname(companyname)
                                           .Address(addressViewModelBuilder)
                                           .Build();

            var employerProviderMock = new Mock <IEmployerEnquiryProvider>();

            employerProviderMock.Setup(x => x.SubmitEnquiry(It.IsAny <EmployerEnquiryViewModel>())).Returns(submitQueryStatus);

            Mock <IReferenceDataMediator> referenceDataMediator = new Mock <IReferenceDataMediator>();

            referenceDataMediator.Setup(c => c.GetReferenceData(It.IsAny <ReferenceDataTypes>()))
            .Returns(new MediatorResponse <ReferenceDataListViewModel>()
            {
                ViewModel = new ReferenceDataListViewModel()
            });

            var mediator = new EmployerEnquiryMediatorBuilder().With(employerProviderMock).With(referenceDataMediator).Build();

            //Act
            var response = mediator.SubmitEnquiry(employerEnquiryViewModel);

            //Assert
            response.Code.Should().Be(mediatorCode);
            response.Message.Text.Should().Be(pageMessage);
            response.Message.Level.Should().Be(userMessageLevel);
        }
        public void GivenSuccess_ThenSuccessStatusIsReturned()
        {
            //Arrange
            string firstname          = "First",
                   lastname           = "Last",
                   companyname        = "companyName",
                   email              = "*****@*****.**",
                   employeeCount      = "100",
                   enquiryDescription = "test query",
                   enquirySource      = "Telephone Call",
                   title              = "Mr",
                   prevExp            = "Yes",
                   position           = "Position",
                   workSector         = "retail",
                   phoneNumber        = "0987654321",
                   mobile             = "1234567890",
                   address1           = "Line1",
                   city                 = "City",
                   postcode             = "Postcode";
            var addressViewModelBuilder =
                new AddressViewModelBuilder().AddressLine1(address1).City(city).Postcode(postcode).Build();

            var viewModel = new EmployerEnquiryViewModelBuilder().Firstname(firstname).Lastname(lastname).MobileNumber(mobile)
                            .PhoneNumber(phoneNumber).Position(position).PrevExp(prevExp).Title(title)
                            .WorkSector(workSector)
                            .EnquirySource(enquirySource).EnquiryDescription(enquiryDescription).EmployeeCount(employeeCount)
                            .Email(email).Companyname(companyname)
                            .Address(addressViewModelBuilder)
                            .Build();

            Mock <ICommunciationService> serviceMock = new Mock <ICommunciationService>();

            serviceMock.Setup(cs => cs.SendMessage(It.IsAny <MessageTypes>(), It.IsAny <IEnumerable <CommunicationToken> >()));

            Mock <IViewModelToDomainMapper <EmployerEnquiryViewModel, EmployerEnquiry> > employerEnquiryVtoDMapper = new Mock <IViewModelToDomainMapper <EmployerEnquiryViewModel, EmployerEnquiry> >();

            employerEnquiryVtoDMapper.Setup(cs => cs.ConvertToDomain(It.IsAny <EmployerEnquiryViewModel>()))
            .Returns(new EmployerEnquiry()
            {
                Address = new Address()
            });

            var provider = new EmployerEnquiryProviderBuilder().With(serviceMock).With(employerEnquiryVtoDMapper).Build();

            //Act
            var result = provider.SubmitGlaEnquiry(viewModel);

            //Assert
            result.Should().Be(SubmitQueryStatus.Success);
        }
        public void GivenError_ThenErrorStatusIsReturned()
        {
            //Arrange
            var viewModel = new EmployerEnquiryViewModelBuilder().Build();

            Mock <ICommunciationService> serviceMock = new Mock <ICommunciationService>();

            serviceMock.Setup(cs => cs.SendMessage(It.IsAny <MessageTypes>(), It.IsAny <IEnumerable <CommunicationToken> >())).Throws(new Exception());
            var provider = new EmployerEnquiryProviderBuilder().With(serviceMock).Build();

            //Act
            var result = provider.SubmitGlaEnquiry(viewModel);

            //Assert
            result.Should().Be(SubmitQueryStatus.Error);
        }
Example #5
0
        public static string CreateContactForm()
        {
            string firstname          = "First",
                   lastname           = "Last",
                   companyname        = "companyName",
                   email              = "*****@*****.**",
                   employeeCount      = "100",
                   enquiryDescription = "test query",
                   enquirySource      = "Telephone Call",
                   title              = "Mr",
                   prevExp            = "Yes",
                   position           = "Position",
                   workSector         = "retail",
                   phoneNumber        = "0987654321",
                   mobile             = "1234567890",
                   address1           = "Line1",
                   city                 = "City",
                   postcode             = "Postcode";
            var addressViewModelBuilder =
                new AddressViewModelBuilder().AddressLine1(address1).City(city).Postcode(postcode).Build();

            var enquiryData = new EmployerEnquiryViewModelBuilder().Firstname(firstname).Lastname(lastname).MobileNumber(mobile)
                              .PhoneNumber(phoneNumber).Position(position).PrevExp(prevExp).Title(title)
                              .WorkSector(workSector)
                              .EnquirySource(enquirySource).EnquiryDescription(enquiryDescription).EmployeeCount(employeeCount)
                              .Email(email).Companyname(companyname)
                              .Address(addressViewModelBuilder)
                              .Build();

            var builder = new StringBuilder();

            builder.AppendLine(string.Format("Full name : {0} {1} {2}", enquiryData.Title, enquiryData.Firstname.ToFirstCharToUpper(), enquiryData.Lastname.ToFirstCharToUpper()));
            builder.AppendLine(string.Format("Email : {0}", enquiryData.Email));
            builder.AppendLine(string.Format("Position at company : {0}", enquiryData.Position.ToFirstCharToUpper()));
            builder.AppendLine(string.Format("Phone number : {0}", enquiryData.WorkPhoneNumber));
            if (!string.IsNullOrEmpty(enquiryData.MobileNumber))
            {
                builder.AppendLine(string.Format("Mobile : {0}", enquiryData.MobileNumber));
            }

            builder.AppendLine(string.Format("Company name : {0}", enquiryData.Companyname.ToFirstCharToUpper()));
            builder.AppendLine(string.Format("Address: line 1 - {0}", enquiryData.Address.AddressLine1));

            if (!string.IsNullOrEmpty(enquiryData.Address.AddressLine2))
            {
                builder.AppendLine(string.Format("Address : line 2 - {0}", enquiryData.Address.AddressLine2));
            }
            if (!string.IsNullOrEmpty(enquiryData.Address.AddressLine3))
            {
                builder.AppendLine(string.Format("Address : line 3 - {0}", enquiryData.Address.AddressLine3));
            }
            if (!string.IsNullOrEmpty(enquiryData.Address.City))
            {
                builder.AppendLine(string.Format("Address : city - {0}", enquiryData.Address.City.ToFirstCharToUpper()));
            }

            builder.AppendLine(string.Format("Address : postcode - {0}", enquiryData.Address.Postcode));
            builder.AppendLine(string.Format("Total no of employees : {0}", enquiryData.EmployeesCount));
            builder.AppendLine(string.Format("Industry sector : {0}", enquiryData.WorkSector));
            builder.AppendLine(string.Format("Previous experience with Apprenticeships/Traineeships? : {0}", enquiryData.PreviousExperienceType));
            builder.AppendLine(string.Format("What prompted to make enquiry : {0}", enquiryData.EnquirySource));
            builder.AppendLine(string.Format("Nature of query : {0}", enquiryData.EnquiryDescription.ToFirstCharToUpper()));

            return(builder.ToString());
        }