コード例 #1
0
        public async Task Given_Invalid_OrganisationName_Or_TeamName_When_Call_DeleteTeamAsync_ShouldReturns_BadRequest(string organisationName, string teamName)
        {
            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.DeleteTeamAsync(organisationName, teamName, null, null);

            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #2
0
        public async Task Given_Valid_OrganisationService_And_OrganisationName_And_TeamName_When_Call_GetTeamAsync_ShouldReturns_OkObjectResult_And_TeamInstance(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

            moqService
            .Setup(t => t.GetByTeamNameAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(new DataContracts.Team {
                Name = teamName
            })
            .Verifiable();

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.GetTeamAsync(organisationName, teamName, moqService.Object);

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

            var okObjectResult = (OkObjectResult)result;

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

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

            Assert.NotNull(resultOrganisation);
            Assert.Equal(resultOrganisation.Name, teamName);
        }
コード例 #3
0
        public async Task Given_TeamName_And_Instance_TeamName_Is_Different_When_Call_UpdateTeamAsync_ShouldReturns_BadRequest(string organisationName, string teamName, string instanceTeamName)
        {
            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.UpdateTeamAsync(organisationName, teamName, new DataContracts.Team {
                Name = instanceTeamName
            }, null, null);

            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #4
0
        public async Task Given_Invalid_TeamService_When_Call_AddTeamAsync_ShouldReturns_InternalServerError(string organisationName, string teamName)
        {
            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.AddTeamAsync(organisationName, new DataContracts.Team {
                Name = teamName
            }, null, null);

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

            Assert.NotNull(statusCodeResult);
            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCodeResult.StatusCode);
        }
コード例 #5
0
        public async Task Given_Valid_OrganisationService_And_OrganisationName_And_TeamName_When_Call_DeleteTeamAsync_ShouldReturns_OkObjectResult_And_TeamInstance(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

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

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.DeleteTeamAsync(organisationName, teamName, null, moqService.Object);

            moqService.Verify();
            Assert.IsType <NoContentResult>(result);
        }
コード例 #6
0
        public async Task Given_Team_Not_Registered_When_Call_GetTeamAsync_ShouldReturns_NotFoundResult(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

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

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.GetTeamAsync(organisationName, teamName, moqService.Object);

            moqService.Verify();
            Assert.IsType <NotFoundResult>(result);
        }
コード例 #7
0
        public async Task Given_TeamName_Is_Already_Registered_When_Call_AddTeamAsync_ShouldReturns_BadRequest(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

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

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.AddTeamAsync(organisationName, new DataContracts.Team {
                Name = teamName
            }, moqService.Object, null);

            moqService.Verify();

            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #8
0
        public async Task Given_TeamName_Is_Not_Registered_When_Call_UpdateTeamAsync_ShouldReturns_NotFound(string organisationName, string teamName, string instanceTeamName)
        {
            var moqService = new Mock <ITeamService>();

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

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.UpdateTeamAsync(organisationName, teamName, new DataContracts.Team {
                Name = instanceTeamName
            }, null, moqService.Object);

            moqService.Verify();

            Assert.IsType <NotFoundResult>(result);
        }
コード例 #9
0
        public async Task Given_Invalid_OrganisationService_When_Call_DeleteTeamAsync_ShouldReturns_InternalServerError(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

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

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.DeleteTeamAsync(organisationName, teamName, null, moqService.Object);

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

            Assert.NotNull(internalServerError);
            Assert.Equal((int)HttpStatusCode.InternalServerError, internalServerError.StatusCode);
        }
コード例 #10
0
        public async Task Given_TeamName_Not_Registered_When_Call_AddTeamAsync_ShouldReturns_CreateAtRouteResult(string organisationName, string teamName)
        {
            var moqService = new Mock <ITeamService>();

            moqService
            .Setup(t => t.AddAsync(It.IsAny <string>(), It.IsAny <DataContracts.Team>()))
            .ReturnsAsync(new DataContracts.Team {
                Name = teamName
            })
            .Verifiable();

            var controller = new WebAPI.Controllers.TeamController();
            var result     = await controller.AddTeamAsync(organisationName, new DataContracts.Team {
                Name = teamName
            }, moqService.Object, null);

            moqService.Verify();

            Assert.IsType <CreatedAtRouteResult>(result);
        }