Пример #1
0
        public async Task HandleAsync_GivenOrganisationId_FetchOrganisationIsRunWithId()
        {
            var request = new OrganisationUserRequestEvent(Guid.NewGuid(), Guid.NewGuid());

            await handler.HandleAsync(request);

            A.CallTo(() => dataAccess.FetchOrganisation(request.OrganisationId)).MustHaveHappened(Repeated.Exactly.Once);
        }
Пример #2
0
        public async Task HandleAsync_GivenActiveUsers_SendOrganisationRequestToAdministrator()
        {
            var request = new OrganisationUserRequestEvent(Guid.NewGuid(), Guid.NewGuid());

            var activeUsersTrue = new List <OrganisationUser>()
            {
                A.Fake <OrganisationUser>()
            };

            A.CallTo(() => dataAccess.FetchActiveOrganisationUsers(request.OrganisationId)).Returns(activeUsersTrue);

            await handler.HandleAsync(request);

            A.CallTo(() => emailService.SendOrganisationUserRequest(A <string> ._, A <string> ._, A <string> ._)).MustHaveHappened(Repeated.Exactly.Once);
        }
Пример #3
0
        public async Task HandleAsync_GivenNoActiveUsers_SendOrganisationRequestToEA()
        {
            var request = new OrganisationUserRequestEvent(Guid.NewGuid(), Guid.NewGuid());

            var organisation         = Organisation.CreateRegisteredCompany("company", "12345678");
            var activeUsersFalse     = new List <OrganisationUser>();
            var competentAuthorities = new List <UKCompetentAuthority>()
            {
                new UKCompetentAuthority(Guid.NewGuid(), "name", "abb", A.Fake <Country>(), "email1", null),
                new UKCompetentAuthority(Guid.NewGuid(), "name", "abb", A.Fake <Country>(), "email2", null)
            };

            A.CallTo(() => dataAccess.FetchCompetentAuthorities()).Returns(competentAuthorities);
            A.CallTo(() => dataAccess.FetchActiveOrganisationUsers(request.OrganisationId)).Returns(activeUsersFalse);
            A.CallTo(() => dataAccess.FetchOrganisation(A <Guid> ._)).Returns(organisation);

            await handler.HandleAsync(request);

            A.CallTo(() => emailService.SendOrganisationUserRequestToEA("email1", organisation.Name, A <string> ._)).MustHaveHappened(Repeated.Exactly.Once);
            A.CallTo(() => emailService.SendOrganisationUserRequestToEA("email2", organisation.Name, A <string> ._)).MustHaveHappened(Repeated.Exactly.Once);
        }