public async Task Given_A_Valid_OrganisationService_And_OrganisationName_And_OrganisationRequest_When_Call_UpdateOrganisationAsync_ShouldReturns_CreatedAtRouteResult(string organisationName) { var organisation = new DataContracts.OrganisationRegistration { Name = organisationName }; var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.RegisterAsync(It.IsAny <DataContracts.OrganisationRegistration>())) .ReturnsAsync(organisation) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var routeName = nameof(controller.GetOrganisationAsync); var result = await controller.RegisterOrganisationAsync(organisationName, organisation, moqService.Object); moqService.Verify(); Assert.IsType <CreatedAtRouteResult>(result); var createdObjectResult = (CreatedAtRouteResult)result; Assert.NotNull(createdObjectResult); Assert.NotNull(createdObjectResult.Value); Assert.Equal(routeName, createdObjectResult.RouteName); Assert.NotNull((DataContracts.Organisation)createdObjectResult.Value); Assert.Equal(organisation.Name, ((DataContracts.Organisation)createdObjectResult.Value).Name); }
public async Task Given_A_Valid_OrganisationService_And_OrganisationName_When_Call_GetOrganisationAsync_ShouldReturns_OkObjectResult(string organisationName) { var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.GetByOrganisationNameAsync(It.IsAny <string>())) .ReturnsAsync(() => new DataContracts.Organisation { Name = organisationName }) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.GetOrganisationAsync(organisationName, moqService.Object); moqService.Verify(); Assert.IsType <OkObjectResult>(result); var okObjectResult = (OkObjectResult)result; Assert.NotNull(okObjectResult); Assert.NotNull(okObjectResult.Value); var organisation = (DataContracts.Organisation)okObjectResult.Value; Assert.NotNull(organisation); Assert.Equal(organisationName, organisation.Name); }
public async Task Given_A_Invalid_OrganisationService_When_Call_DeleteOrganisationAsync_ShouldReturns_InternalServerError(string organisationName) { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.DeleteOrganisationAsync(organisationName, null); Assert.IsType <StatusCodeResult>(result); var internalServerErrorResult = (StatusCodeResult)result; Assert.NotNull(internalServerErrorResult); Assert.Equal((int)HttpStatusCode.InternalServerError, internalServerErrorResult.StatusCode); }
public async Task Given_A_Invalid_OrganisationName_When_Call_DeleteOrganisationAsync_ShouldReturns_BadRequest(string organisationName) { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.DeleteOrganisationAsync(organisationName, null); Assert.IsType <BadRequestObjectResult>(result); var badRequestResult = (BadRequestObjectResult)result; Assert.NotNull(badRequestResult); Assert.NotNull(badRequestResult.Value); }
public async Task Given_A_Invalid_OrganisationService_When_Call_GetOrganisationAsync_ShouldReturns_InternalServerError() { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.GetOrganisationAsync(Guid.NewGuid().ToString(), null); Assert.IsType <StatusCodeResult>(result); var statusResult = (StatusCodeResult)result; Assert.NotNull(statusResult); Assert.Equal(statusResult.StatusCode, (int)HttpStatusCode.InternalServerError); }
public async Task Given_A_Invalid_OrganisationService_When_Call_UpdateOrganisationAsync_ShouldReturns_InternalServerError() { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.UpdateOrganisationAsync("Apple", new DataContracts.Organisation { Name = "Apple" }, null); Assert.IsType <StatusCodeResult>(result); var statusCodeResult = (StatusCodeResult)result; Assert.NotNull(statusCodeResult); Assert.Equal(statusCodeResult.StatusCode, (int)HttpStatusCode.InternalServerError); }
public async Task Given_A_Invalid_OrganisationName_And_Request_Organisation_Name_Is_Different_When_Call_UpdateOrganisationAsync_ShouldReturns_BadRequest(string organisationName) { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.UpdateOrganisationAsync(organisationName, new DataContracts.Organisation { Name = "Apple" }, null); Assert.IsType <BadRequestObjectResult>(result); var badRequestResult = (BadRequestObjectResult)result; Assert.NotNull(badRequestResult); Assert.NotNull(badRequestResult.Value); }
public async Task Given_A_Invalid_OrganisationService_Is_Null_When_Call_RegisterOrganisationAsync_ShouldReturns_InternalServerError(string organisationName) { var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.RegisterOrganisationAsync(organisationName, new DataContracts.OrganisationRegistration { Name = organisationName }, null); Assert.IsType <StatusCodeResult>(result); var statusCodeResult = (StatusCodeResult)result; Assert.NotNull(statusCodeResult); Assert.Equal(statusCodeResult.StatusCode, (int)HttpStatusCode.InternalServerError); }
public async Task Given_A_Valid_OrganisationName_And_OrganisationService_When_Call_DeleteOrganisationAsync_ShouldReturns_NoContentResult(string organisationName) { var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.DeleteByOrganisationNameAsync(It.IsAny <string>())) .Returns(Task.CompletedTask) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.DeleteOrganisationAsync(organisationName, moqService.Object); moqService.Verify(); Assert.IsType <NoContentResult>(result); }
public async Task Given_A_Not_Exists_OrganisationName_When_Call_GetOrganisationAsync_ShouldReturns_NotFoundRequest(string organisationName) { var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.GetByOrganisationNameAsync(It.IsAny <string>())) .ReturnsAsync(() => null) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.GetOrganisationAsync(organisationName, moqService.Object); moqService.Verify(); Assert.IsType <NotFoundResult>(result); }
public async Task Given_A_Invalid_OrganisationName_Not_Registered_When_Call_UpdateOrganisationAsync_ShouldReturns_BadRequest(string organisationName) { var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.UpdateAsync(It.IsAny <DataContracts.Organisation>())) .ReturnsAsync(() => null) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.UpdateOrganisationAsync(organisationName, new DataContracts.Organisation { Name = organisationName }, moqService.Object); moqService.Verify(); Assert.IsType <NotFoundResult>(result); }
public async Task Given_A_Invalid_OrganisationName_Already_Registered_When_Call_RegisterOrganisationAsync_ShouldReturns_BadRequest(string organisationName) { var moqService = new Mock <IOrganisationService>(); moqService .Setup(o => o.RegisterAsync(It.IsAny <DataContracts.OrganisationRegistration>())) .ThrowsAsync(new NameAlreadyUsedException(organisationName)) .Verifiable(); var controller = new WebAPI.Controllers.OrganisationController(); var result = await controller.RegisterOrganisationAsync(organisationName, new DataContracts.OrganisationRegistration { Name = organisationName }, moqService.Object); moqService.Verify(); Assert.IsType <BadRequestObjectResult>(result); var badRequestResult = (BadRequestObjectResult)result; Assert.NotNull(badRequestResult); Assert.NotNull(badRequestResult.Value); }