public async Task GetJoinOrganisationConfirmation_GivenActiveUsers_ActiveUsersIsSetInViewModel(bool activeUsers) { // Arrange var orgData = new PublicOrganisationData { Id = Guid.NewGuid(), DisplayName = "Test" }; var weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetPublicOrganisationInfo> ._)) .Returns(orgData); var organisationSearcher = A.Dummy <ISearcher <OrganisationSearchResult> >(); var controller = new OrganisationRegistrationController( () => weeeClient, organisationSearcher, configurationService); // Act ActionResult result = await controller.JoinOrganisationConfirmation(orgData.Id, activeUsers); // Assert var model = ((ViewResult)result).Model; JoinOrganisationConfirmationViewModel viewModel = model as JoinOrganisationConfirmationViewModel; viewModel.AnyActiveUsers.Should().Be(activeUsers); }
public async Task GetJoinOrganisationConfirmation_ReturnsJoinOrganisationConfirmationView() { // Arrange var orgData = new PublicOrganisationData { Id = Guid.NewGuid(), DisplayName = "Test" }; var weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetPublicOrganisationInfo> ._)) .Returns(orgData); var organisationSearcher = A.Dummy <ISearcher <OrganisationSearchResult> >(); var controller = new OrganisationRegistrationController( () => weeeClient, organisationSearcher, configurationService); // Act ActionResult result = await controller.JoinOrganisationConfirmation(orgData.Id, true); // Assert var model = ((ViewResult)result).Model; Assert.NotNull(model); Assert.IsType <JoinOrganisationConfirmationViewModel>(model); }
public async Task GetPublicOrganisationInfoHandler_HappyPath_ReturnsPublicOrganisationInfo() { var organisationId = Guid.NewGuid(); var context = A.Fake <WeeeContext>(); A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List <Organisation> { GetOrganisationWithId(organisationId) })); var expectedReturnValue = new PublicOrganisationData(); Organisation mappedOrganisation = null; var publicOrganisationMap = A.Fake <IMap <Organisation, PublicOrganisationData> >(); A.CallTo(() => publicOrganisationMap.Map(A <Organisation> ._)) .Invokes((Organisation o) => mappedOrganisation = o) .Returns(expectedReturnValue); var handler = new GetPublicOrganisationInfoHandler(context, publicOrganisationMap); var message = new GetPublicOrganisationInfo(organisationId); var result = await handler.HandleAsync(message); Assert.NotNull(mappedOrganisation); Assert.Equal(organisationId, mappedOrganisation.Id); Assert.Same(expectedReturnValue, result); }
public async Task GetJoinOrganisation_UserAlreadyAssociated_ReturnsUserAlreadyAssociatedWithOrgansiationView() { // Arrange Guid organisationId = new Guid("101F5E58-FEA3-4F59-9281-E543EDE5699F"); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); PublicOrganisationData organisation = new PublicOrganisationData() { Id = organisationId, DisplayName = "Test Company" }; A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetPublicOrganisationInfo>._)) .Returns(organisation); OrganisationUserData association = new OrganisationUserData() { OrganisationId = organisationId, UserStatus = UserStatus.Active, }; A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetUserOrganisationsByStatus>._)) .Returns(new List<OrganisationUserData>() { association }); ISearcher<OrganisationSearchResult> organisationSearcher = A.Dummy<ISearcher<OrganisationSearchResult>>(); OrganisationRegistrationController controller = new OrganisationRegistrationController( () => weeeClient, organisationSearcher); // Act ActionResult result = await controller.JoinOrganisation(organisationId); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal("UserAlreadyAssociatedWithOrganisation", viewResult.ViewName); UserAlreadyAssociatedWithOrganisationViewModel viewModel = viewResult.Model as UserAlreadyAssociatedWithOrganisationViewModel; Assert.NotNull(viewModel); Assert.Equal(organisationId, viewModel.OrganisationId); Assert.Equal(UserStatus.Active, viewModel.Status); Assert.Equal("Test Company", viewModel.OrganisationName); }
public async Task GetJoinOrganisationConfirmation_ReturnsJoinOrganisationConfirmationView() { // Arrange var orgData = new PublicOrganisationData { Id = Guid.NewGuid(), Address = new AddressData(), DisplayName = "Test" }; IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetPublicOrganisationInfo>._)) .Returns(orgData); ISearcher<OrganisationSearchResult> organisationSearcher = A.Dummy<ISearcher<OrganisationSearchResult>>(); OrganisationRegistrationController controller = new OrganisationRegistrationController( () => weeeClient, organisationSearcher); // Act ActionResult result = await controller.JoinOrganisationConfirmation(orgData.Id); // Assert var model = ((ViewResult)result).Model; Assert.NotNull(model); Assert.IsType<JoinOrganisationConfirmationViewModel>(model); }
public async Task GetJoinOrganisation_UserAlreadyAssociated_ReturnsUserAlreadyAssociatedWithOrgansiationView() { // Arrange var organisationId = new Guid("101F5E58-FEA3-4F59-9281-E543EDE5699F"); var weeeClient = A.Fake <IWeeeClient>(); var organisation = new PublicOrganisationData() { Id = organisationId, DisplayName = "Test Company" }; A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetPublicOrganisationInfo> ._)) .Returns(organisation); var association = new OrganisationUserData() { OrganisationId = organisationId, UserStatus = UserStatus.Active, }; A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetUserOrganisationsByStatus> ._)) .Returns(new List <OrganisationUserData>() { association }); var organisationSearcher = A.Dummy <ISearcher <OrganisationSearchResult> >(); var activeUsers = new List <OrganisationUserData>() { A.Fake <OrganisationUserData>() }; A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetActiveOrganisationUsers> ._)).Returns(activeUsers); var controller = new OrganisationRegistrationController( () => weeeClient, organisationSearcher, configurationService); // Act ActionResult result = await controller.JoinOrganisation(organisationId); // Assert var viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal("UserAlreadyAssociatedWithOrganisation", viewResult.ViewName); var viewModel = viewResult.Model as UserAlreadyAssociatedWithOrganisationViewModel; Assert.NotNull(viewModel); Assert.Equal(organisationId, viewModel.OrganisationId); Assert.Equal(UserStatus.Active, viewModel.Status); Assert.Equal("Test Company", viewModel.OrganisationName); Assert.Equal(true, viewModel.AnyActiveUsers); }