Example #1
0
        public void Organisation_Update_Invalid_Input()
        {
            _mockUserContext.Setup(x => x.HasGroupPermission(It.IsAny <string>(), It.IsAny <string>())).Returns(true);

            _controller.ModelState.AddModelError("Error", "Error");

            var result = _controller.Update(new OrganisationUpdateInput());

            Assert.IsInstanceOf <JsonResult>(result);
            var jsonResult = result as JsonResult;

            Assert.IsNotNull(jsonResult);
            Assert.AreEqual(jsonResult.Data.ToString().ToLower(), "Failure".ToLower());
        }
        public async Task Update()
        {
            var organisation = new OrganisationEdit()
            {
                Id     = Guid.NewGuid(),
                Name   = "organisation_1",
                Config = new Config()
            };

            var service     = new Mock <IOrganisationService>();
            var authService = TestHelper.MockAuthenticationService(Scope.Branch);

            var result = new Result()
            {
                Success = true
            };

            ScopeOptions     options = null;
            OrganisationEdit updated = null;

            service.Setup(c => c.UpdateOrganisation(It.IsAny <ScopeOptions>(), It.Is <OrganisationEdit>(m => m == organisation)))
            .Callback((ScopeOptions o, OrganisationEdit u) =>
            {
                updated = u;
                options = o;
            })
            .ReturnsAsync(result);

            var controller = new OrganisationsController(authService.Object, service.Object, null);

            controller.ControllerContext = TestHelper.GetControllerContext(new ClaimsPrincipal());

            var actual = await controller.Update(organisation.Id.Value, organisation);

            Assert.Same(organisation, updated);
            Assert.Equal(Scope.Branch, options.Scope);

            var okResult    = Assert.IsType <OkObjectResult>(actual);
            var returnValue = Assert.IsType <Result>(okResult.Value);

            Assert.Same(result, returnValue);
        }