Example #1
0
        public async Task ReadAllAsync_Success()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "ReadAllAsync_Success")
                          .Options;

            var serviceRequests = new List <ServiceRequest>();

            //ACT
            using (var context = new AppDbContext(options))
            {
                context.Database.EnsureCreated();
                var service = new ServiceRequestService(context);
                serviceRequests = await service.ReadAllAsync();
            }
            //ASSERT
            using (var context = new AppDbContext(options))
            {
                Assert.AreEqual(3, context.ServiceRequests.Count());
                var ids = serviceRequests.Select(x => x.Id).ToArray();
                Assert.IsTrue(ids.Contains(MockServiceRequestIds.ServiceRequestId1));
                Assert.IsTrue(ids.Contains(MockServiceRequestIds.ServiceRequestId2));
                Assert.IsTrue(ids.Contains(MockServiceRequestIds.ServiceRequestId3));
            }
        }
Example #2
0
        public async Task UpdateAsync_Success()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "UpdateAsync_Success")
                          .Options;

            ServiceRequest expectedServiceRequest = null;
            ServiceResult  serviceResult          = null;

            //ACT
            using (var context = new AppDbContext(options))
            {
                context.Database.EnsureCreated();
                expectedServiceRequest               = context.ServiceRequests.Single(x => x.Id == MockServiceRequestIds.ServiceRequestId1);
                expectedServiceRequest.Description   = "BOB FARLEY";
                expectedServiceRequest.CurrentStatus = CurrentStatus.InProgress;
                var service = new ServiceRequestService(context);
                serviceResult = await service.UpdateAsync(expectedServiceRequest);
            }
            //ASSERT
            Assert.IsTrue(serviceResult.Success);
            using (var context = new AppDbContext(options))
            {
                var actualServiceRequest = context.ServiceRequests.Single(x => x.Id == MockServiceRequestIds.ServiceRequestId1);
                Assert.AreEqual(expectedServiceRequest.Id, actualServiceRequest.Id);
                Assert.AreEqual(expectedServiceRequest.BuildingCode, actualServiceRequest.BuildingCode);
                Assert.AreEqual(expectedServiceRequest.CreatedBy, actualServiceRequest.CreatedBy);
                Assert.AreEqual(expectedServiceRequest.CreatedDate, actualServiceRequest.CreatedDate);
                Assert.AreEqual(expectedServiceRequest.CurrentStatus, actualServiceRequest.CurrentStatus);
                Assert.AreEqual(expectedServiceRequest.Description, actualServiceRequest.Description);
            }
        }
Example #3
0
 public ServiceRequestViewModel(string subjectOrDescription, string status, INavigation navigation)
 {
     this.subjectOrDescription = subjectOrDescription;
     this.status            = status;
     this.navigation        = navigation;
     _serviceRequestService = new ServiceRequestService();
     ServiceRequests        = new List <ServiceModel>();
 }
Example #4
0
        public ServiceRequests()
        {
            context         = new SystemAdminContext();
            CRUD            = new CRUD_Operations(context);
            serviceRequests = new ServiceRequestService(CRUD);

            InitializeComponent();
        }
        public AssignAdminOperator(int RequestID)
        {
            context        = new SystemAdminContext();
            CRUD           = new CRUD_Operations(context);
            Service        = new ServiceRequestService(CRUD);
            this.RequestID = RequestID;

            InitializeComponent();
        }
Example #6
0
        public EditAdditionalInfo(int ServiceRequestID)
        {
            context = new SystemAdminContext();
            CRUD    = new CRUD_Operations(context);
            Service = new ServiceRequestService(CRUD);
            this.ServiceRequestID = ServiceRequestID;

            InitializeComponent();
        }
Example #7
0
        public void ProvideInfo_CallsCRUD_ProvideInfo_ExactlyOnce_WhenCalled()
        {
            int    TestRequestID = 1;
            String TestInfo      = "Request will be complete in 2 hours";

            Mock <ICRUD_Operations> MockCRUD = new Mock <ICRUD_Operations>();

            ServiceRequestService RqstService = new ServiceRequestService(MockCRUD.Object);

            //Act
            RqstService.ProvideInfo(TestRequestID, TestInfo);

            //Assert
            MockCRUD.Verify(x => x.ProvideInfo(It.IsAny <int>(), It.IsAny <String>()), Times.Once);
        }
Example #8
0
        public void AssignOperator_CallsAssignAdminToRequest_PassingTheIDAndAdminNameProvided_ExactlyOnce_WhenCalled()
        {
            int    TestRequestID = 1;
            String TestAdminName = "Joe Admin";

            Mock <ICRUD_Operations> MockCRUD = new Mock <ICRUD_Operations>();

            ServiceRequestService RqstService = new ServiceRequestService(MockCRUD.Object);

            //Act
            RqstService.AssignOperator(TestRequestID, TestAdminName);

            //Assert
            MockCRUD.Verify(x => x.AssignAdminToRequest(TestRequestID, TestAdminName), Times.Once);
        }
Example #9
0
        public void MarkAsComplete_CallsCRUD_MarkAsComplete_PassingItTheProvidedID_ExactlyOnce_WhenCalled()
        {
            //Arrange
            int TestRequestID = 1;

            Mock <ICRUD_Operations> MockCRUD = new Mock <ICRUD_Operations>();

            ServiceRequestService RqstService = new ServiceRequestService(MockCRUD.Object);

            //Act
            RqstService.MarkAsComplete(TestRequestID);

            //Assert
            MockCRUD.Verify(x => x.MarkAsComplete(TestRequestID), Times.Once);
        }
Example #10
0
        public void CreateRequest_CallsInsertServiceRequest_PassingTheInformationProvided_ExactlyOnce_WhenCalled()
        {
            //Arrange
            string TestUserName    = "******";
            string TestRequestType = "Password Reset";
            string TestDetails     = "Forgot Password";

            Mock <ICRUD_Operations> MockCRUD = new Mock <ICRUD_Operations>();

            ServiceRequestService RqstService = new ServiceRequestService(MockCRUD.Object);

            //Act
            RqstService.CreateRequest(TestUserName, TestRequestType, TestDetails);

            //Assert
            MockCRUD.Verify(x => x.InsertServiceRequest(
                                TestUserName, TestRequestType, TestDetails), Times.Once);
        }
Example #11
0
        public async Task ReadAsync_Success()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "ReadAllAsync_Success")
                          .Options;

            ServiceRequest actualServiceRequest = null;

            //ACT
            using (var context = new AppDbContext(options))
            {
                context.Database.EnsureCreated();
                var service = new ServiceRequestService(context);
                actualServiceRequest = await service.ReadByIdAsync(MockServiceRequestIds.ServiceRequestId1);
            }
            //ASSERT
            Assert.AreEqual(MockServiceRequestIds.ServiceRequestId1, actualServiceRequest.Id);
        }
Example #12
0
        public async Task CreateAsync_Success()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <AppDbContext>()
                          .UseInMemoryDatabase(databaseName: "CreateAsync_Success")
                          .Options;
            var expectedServiceRequest = new ServiceRequest()
            {
                BuildingCode   = Guid.NewGuid().ToString(),
                CreatedBy      = "Larry",
                CreatedDate    = DateTime.Today.AddDays(1),
                CurrentStatus  = CurrentStatus.Created,
                Description    = "Roger and Me",
                Id             = Guid.NewGuid(),
                LastModifiedBy = "Fred",
                LastUpdatedBy  = DateTime.Now
            };
            ServiceResult serviceResult = null;

            //ACT
            using (var context = new AppDbContext(options))
            {
                var service = new ServiceRequestService(context);
                serviceResult = await service.CreateAsync(expectedServiceRequest);
            }
            //ASSERT
            Assert.IsTrue(serviceResult.Success);
            using (var context = new AppDbContext(options))
            {
                Assert.AreEqual(1, context.ServiceRequests.Count());
                var actualServiceRequest = context.ServiceRequests.Single();
                Assert.AreEqual(expectedServiceRequest.Id, actualServiceRequest.Id);
                Assert.AreEqual(expectedServiceRequest.BuildingCode, actualServiceRequest.BuildingCode);
                Assert.AreEqual(expectedServiceRequest.CreatedBy, actualServiceRequest.CreatedBy);
                Assert.AreEqual(expectedServiceRequest.CreatedDate, actualServiceRequest.CreatedDate);
                Assert.AreEqual(expectedServiceRequest.CurrentStatus, actualServiceRequest.CurrentStatus);
                Assert.AreEqual(expectedServiceRequest.Description, actualServiceRequest.Description);
            }
        }
Example #13
0
        protected override async void OnAppearing()
        {
            messages = new ObservableCollection <CommentOrMessageViewModel>();
            try
            {
                _busy = UserDialogs.Instance.Loading(MessageHelper.Loading);
                if (_serviceRequestId != 0)
                {
                    ServiceRequestService _serviceRequestService = new ServiceRequestService();
                    var result = await Task.Run(() => _serviceRequestService.GetServiceRequestById(_serviceRequestId));

                    this.srs = result;
                    Title    = "Service Request ID - " + _serviceRequestId;
                }
                lblCreatedBy.Text   = srs.ServiceReq.CreatedUser.ToString();
                lblCreatedDate.Text = srs.ServiceReq.CreatedDate.Substring(0, 10);
                lblLastUpdate.Text  = getLastUpdated(Convert.ToDateTime(srs.ServiceReq.UpdatedDate));
                lblHouse.Text       = srs.ServiceReq.House.ToString();
                lblPrfDate.Text     = srs.ServiceReq.PreferredDate.Substring(0, 10);
                lblPrfTime.Text     = srs.ServiceReq.PreferredTimings;

                if (srs.ServiceReq.Closed)
                {
                    lblStatus.Text = "Closed";
                }
                else
                {
                    lblStatus.Text = "Open";
                }

                lblCloseDate.Text = srs.ServiceReq.ClosedDate;
                lblSubject.Text   = srs.ServiceReq.Subject;
                var coments = srs.srmessages.Select(c => new CommentOrMessageViewModel
                {
                    Id          = c.Id,
                    ServiceId   = c.ServiceRequest,
                    Title       = c.Content,
                    CreatedBy   = Convert.ToString(c.CreatedUser),
                    CreatedDate = Convert.ToDateTime(c.CreatedDate),
                }).ToList();
                foreach (var item in coments)
                {
                    messages.Add(item);
                }
                ServiceRequestView.ItemsSource = messages;
                var tapGesture = new TapGestureRecognizer();
                tapGesture.Tapped += async(sender, e) =>
                {
                    if (CrossConnectivity.Current.IsConnected)
                    {
                        if (AddComments.Text == null || AddComments.Text == "")
                        {
                            UserDialogs.Instance.Alert(MessageHelper.EnterMessage);
                        }
                        else
                        {
                            AddCommentToServiceRequestModel addcom = new AddCommentToServiceRequestModel();
                            addcom.Content = AddComments.Text;
                            var service = DependencyService.Get <IServiceRequest>();
                            var result  = await service.AddCommentsEdit(srs.ServiceReq.Id, addcom);

                            if (result)
                            {
                                AddComments.Text = "";
                                messages.Add(new CommentOrMessageViewModel
                                {
                                    Title       = addcom.Content,
                                    CreatedBy   = srs.ServiceReq.CreatedUser,
                                    CreatedDate = DateTime.Now
                                });
                                ServiceRequestView.ItemsSource = messages;
                                MessageHelper.ShowToast(ToastNotificationType.Success, MessageHelper.CommentSucess);
                            }

                            else
                            {
                                MessageHelper.ShowToast(ToastNotificationType.Error, "Failure");
                            }
                        }
                    }
                    else
                    {
                        UserDialogs.Instance.ErrorToast(MessageHelper.NoInternet);
                    }
                };
                CommentButton.GestureRecognizers.Add(tapGesture);
            }
            catch (Exception)
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    UserDialogs.Instance.ErrorToast(MessageHelper.NoInternet);
                }
            }
            finally
            {
                _busy.Hide();
            }
            base.OnAppearing();
        }
Example #14
0
 public ServiceRequestCreate()
 {
     InitializeComponent();
     _serviceRequestService = new ServiceRequestService();
 }