Пример #1
0
        public async Task Given_Valid_OrganisationService_And_OrganisationName_And_UserName_When_Call_GetUserAsync_ShouldReturns_OkObjectResult_And_UserInstance(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.GetByUsernameAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(new DataContracts.User {
                Username = userName
            })
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.GetUserAsync(organisationName, userName, moqService.Object);

            moqService.Verify();
            Assert.IsType <OkObjectResult>(result);

            var okObjectResult = (OkObjectResult)result;

            Assert.NotNull(okObjectResult);
            Assert.NotNull(okObjectResult.Value);

            var resultOrganisation = (DataContracts.User)okObjectResult.Value;

            Assert.NotNull(resultOrganisation);
            Assert.Equal(resultOrganisation.Username, userName);
        }
Пример #2
0
        public async Task Given_Invalid_OrganisationName_Or_UserName_When_Call_DeleteUserAsync_ShouldReturns_BadRequest(string organisationName, string userName)
        {
            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.DeleteUserAsync(organisationName, userName, null);

            Assert.IsType <BadRequestObjectResult>(result);
        }
Пример #3
0
        public void TryGet1Recover()
        {
            var testUserController = new WebAPI.Controllers.UserController();
            var userFromController = testUserController.Get(1);

            Assert.AreEqual(userFromController.Id, 1);
        }
Пример #4
0
        public void TryGetExist()
        {
            var testUserController = new WebAPI.Controllers.UserController();
            var userFromController = testUserController.Get();

            Assert.IsNotNull(userFromController);
        }
Пример #5
0
        public async Task Given_UserName_And_Instance_UserName_Is_Different_When_Call_UpdateUserAsync_ShouldReturns_BadRequest(string organisationName, string userName, string instanceUserName)
        {
            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.UpdateUserAsync(organisationName, userName, new DataContracts.User {
                Username = instanceUserName
            }, null);

            Assert.IsType <BadRequestObjectResult>(result);
        }
Пример #6
0
        public void TryCreate()
        {
            var testUserController = new WebAPI.Controllers.UserController();
            var name = Guid.NewGuid().ToString();
            var userFromController = testUserController.Post(new User {
                Name      = name,
                Birthdate = DateTime.Now
            });

            Assert.AreEqual(userFromController.Name, name);
        }
Пример #7
0
        public async Task Given_Invalid_UserService_When_Call_AddUserAsync_ShouldReturns_InternalServerError(string organisationName, string userName)
        {
            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.AddUserAsync(organisationName, new DataContracts.User {
                Username = userName
            }, null);

            Assert.IsType <StatusCodeResult>(result);
            var statusCodeResult = (StatusCodeResult)result;

            Assert.NotNull(statusCodeResult);
            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCodeResult.StatusCode);
        }
Пример #8
0
        public void TryDelete()
        {
            var testUserController = new WebAPI.Controllers.UserController();
            int lastUserId         = testUserController.Get().Last().Id;

            var userFromController = testUserController.Delete(lastUserId);

            Assert.AreEqual(userFromController, 1);


            var testUser = testUserController.Get(lastUserId);

            Assert.IsNull(testUser);
        }
Пример #9
0
        public async Task Given_Valid_OrganisationService_And_OrganisationName_And_UserName_When_Call_DeleteUserAsync_ShouldReturns_OkObjectResult_And_UserInstance(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.DeleteAsync(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.DeleteUserAsync(organisationName, userName, moqService.Object);

            moqService.Verify();
            Assert.IsType <NoContentResult>(result);
        }
Пример #10
0
        public async Task Given_User_Not_Registered_When_Call_GetUserAsync_ShouldReturns_NotFoundResult(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.GetByUsernameAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(() => null)
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.GetUserAsync(organisationName, userName, moqService.Object);

            moqService.Verify();
            Assert.IsType <NotFoundResult>(result);
        }
Пример #11
0
        public async Task Given_UserName_Is_Already_Registered_When_Call_AddUserAsync_ShouldReturns_BadRequest(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.AddAsync(It.IsAny <string>(), It.IsAny <DataContracts.User>()))
            .ThrowsAsync(new NameAlreadyUsedException(userName))
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.AddUserAsync(organisationName, new DataContracts.User {
                Username = userName
            }, moqService.Object);

            moqService.Verify();

            Assert.IsType <BadRequestObjectResult>(result);
        }
Пример #12
0
        public async Task Given_UserName_Is_Not_Registered_When_Call_UpdateUserAsync_ShouldReturns_NotFound(string organisationName, string userName, string instanceUserName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.UpdateAsync(It.IsAny <string>(), It.IsAny <DataContracts.User>(), It.IsAny <bool>()))
            .ReturnsAsync(() => null)
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.UpdateUserAsync(organisationName, userName, new DataContracts.User {
                Username = instanceUserName
            }, moqService.Object);

            moqService.Verify();

            Assert.IsType <NotFoundResult>(result);
        }
Пример #13
0
        public async Task Given_Invalid_OrganisationService_When_Call_DeleteUserAsync_ShouldReturns_InternalServerError(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.DeleteAsync(It.IsAny <string>(), It.IsAny <string>()))
            .Throws <Exception>()
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.DeleteUserAsync(organisationName, userName, moqService.Object);

            moqService.Verify();
            Assert.IsType <StatusCodeResult>(result);
            var internalServerError = (StatusCodeResult)result;

            Assert.NotNull(internalServerError);
            Assert.Equal((int)HttpStatusCode.InternalServerError, internalServerError.StatusCode);
        }
Пример #14
0
        public void TryEdit()
        {
            var testUserController = new WebAPI.Controllers.UserController();
            var lastUser           = testUserController.Get().Last();
            var newName            = Guid.NewGuid().ToString();
            var userFromController = testUserController.Put(
                lastUser.Id,
                new User
            {
                Name      = newName,
                Birthdate = lastUser.Birthdate
            });

            Assert.AreEqual(userFromController, 1);

            var testUser = testUserController.Get(lastUser.Id);

            Assert.AreEqual(testUser.Name, newName);
        }
Пример #15
0
        public async Task Given_UserName_Not_Registered_When_Call_AddUserAsync_ShouldReturns_CreateAtRouteResult(string organisationName, string userName)
        {
            var moqService = new Mock <IUserService>();

            moqService
            .Setup(t => t.AddAsync(It.IsAny <string>(), It.IsAny <DataContracts.User>()))
            .ReturnsAsync(new DataContracts.User {
                Username = userName
            })
            .Verifiable();

            var controller = new WebAPI.Controllers.UserController();
            var result     = await controller.AddUserAsync(organisationName, new DataContracts.User {
                Username = userName
            }, moqService.Object);

            moqService.Verify();

            Assert.IsType <CreatedAtRouteResult>(result);
        }