コード例 #1
0
        public async Task CompleteRegistrationHandler_HappyPath_OrganisationCompleteAndSchemeAdded()
        {
            var context = A.Fake<WeeeContext>();

            var organisationId = Guid.NewGuid();
            var organisation = GetOrganisationWithId(organisationId);
            organisation.OrganisationStatus = OrganisationStatus.Incomplete;
            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List<Organisation> { organisation }));

            Scheme addedScheme = null;
            A.CallTo(() => context.Schemes).Returns(dbHelper.GetAsyncEnabledDbSet(new List<Scheme>()));
            A.CallTo(() => context.Schemes.Add(A<Scheme>._))
                .Invokes((Scheme s) => addedScheme = s);

            var handler = new CompleteRegistrationHandler(permissiveAuthorization, context);
            var message = new CompleteRegistration(organisationId);

            var result = await handler.HandleAsync(message);

            Assert.Equal(organisationId, result);
            Assert.Equal(OrganisationStatus.Complete, organisation.OrganisationStatus);

            A.CallTo(() => context.Schemes.Add(A<Scheme>._)).MustHaveHappened();
            Assert.NotNull(addedScheme);
            Assert.Equal(organisationId, addedScheme.OrganisationId);
        }
コード例 #2
0
        public async Task <IHttpActionResult> Get(string CookeId, string UserId, string UserName, string Sex, string Tel, DateTime Birthday, string Email)
        {
            try
            {
                IRepository <CompleteRegistration> reposity = new Repository <CompleteRegistration>();

                CompleteRegistration item = new CompleteRegistration()
                {
                    CookeId  = CookeId,
                    UserId   = UserId,
                    UserName = UserName,
                    Sex      = Sex,
                    Tel      = Tel,
                    Birthday = Birthday,
                    Email    = Email
                };
                await reposity.CreateAsync(item);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok());
        }
コード例 #3
0
        public async Task CompleteRegistrationHandler_HappyPath_OrganisationCompleteAndSchemeAdded()
        {
            var context = A.Fake <WeeeContext>();

            var organisationId = Guid.NewGuid();
            var addressId      = Guid.NewGuid();
            var contactId      = Guid.NewGuid();

            var organisation = GetOrganisationWithId(organisationId);

            organisation.OrganisationStatus = OrganisationStatus.Incomplete;
            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List <Organisation> {
                organisation
            }));

            Scheme addedScheme = null;

            A.CallTo(() => context.Schemes).Returns(dbHelper.GetAsyncEnabledDbSet(new List <Scheme>()));
            A.CallTo(() => context.Schemes.Add(A <Scheme> ._))
            .Invokes((Scheme s) => addedScheme = s);

            var handler = new CompleteRegistrationHandler(permissiveAuthorization, context);
            var message = new CompleteRegistration(organisationId, addressId, contactId);

            var result = await handler.HandleAsync(message);

            Assert.Equal(organisationId, result);
            Assert.Equal(OrganisationStatus.Complete, organisation.OrganisationStatus);

            A.CallTo(() => context.Schemes.Add(A <Scheme> .That.Matches(s => s.AddressId.Equals(addressId) && s.ContactId.Equals(contactId)))).MustHaveHappened();
            Assert.NotNull(addedScheme);
            Assert.Equal(organisationId, addedScheme.OrganisationId);
        }
コード例 #4
0
        public async Task CompleteRegistrationHandler_NotOrganisationUser_ThrowsSecurityException()
        {
            var handler = new CompleteRegistrationHandler(denyingAuthorization, A.Dummy<WeeeContext>());
            var message = new CompleteRegistration(Guid.NewGuid());

            await
                Assert.ThrowsAsync<SecurityException>(async () => await handler.HandleAsync(message));
        }
コード例 #5
0
        public async Task CompleteRegistrationHandler_NotOrganisationUser_ThrowsSecurityException()
        {
            var handler = new CompleteRegistrationHandler(denyingAuthorization, A.Dummy <WeeeContext>());
            var message = new CompleteRegistration(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid());

            await
            Assert.ThrowsAsync <SecurityException>(async() => await handler.HandleAsync(message));
        }
コード例 #6
0
        public async Task <IHttpActionResult> Post(CompleteRegistration value)
        {
            try
            {
                IRepository <CompleteRegistration> reposity = new Repository <CompleteRegistration>();
                await reposity.CreateAsync(value);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok());
        }
コード例 #7
0
        public async Task CompleteRegistrationHandler_NoSuchOrganisation_ThrowsArgumentException()
        {
            var context = A.Fake<WeeeContext>();
            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List<Organisation>()));

            var handler = new CompleteRegistrationHandler(permissiveAuthorization, context);
            var message = new CompleteRegistration(Guid.NewGuid());

            var exception = await
                Assert.ThrowsAsync<ArgumentException>(async () => await handler.HandleAsync(message));

            Assert.True(exception.Message.ToUpperInvariant().Contains("COULD NOT FIND"));
            Assert.True(exception.Message.ToUpperInvariant().Contains("ORGANISATION"));
            Assert.True(exception.Message.Contains(message.OrganisationId.ToString()));
        }
コード例 #8
0
        public async Task CompleteRegistrationHandler_NoSuchOrganisation_ThrowsArgumentException()
        {
            var context = A.Fake <WeeeContext>();

            A.CallTo(() => context.Organisations).Returns(dbHelper.GetAsyncEnabledDbSet(new List <Organisation>()));

            var handler = new CompleteRegistrationHandler(permissiveAuthorization, context);
            var message = new CompleteRegistration(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid());

            var exception = await
                            Assert.ThrowsAsync <ArgumentException>(async() => await handler.HandleAsync(message));

            Assert.True(exception.Message.ToUpperInvariant().Contains("COULD NOT FIND"));
            Assert.True(exception.Message.ToUpperInvariant().Contains("ORGANISATION"));
            Assert.True(exception.Message.Contains(message.OrganisationId.ToString()));
        }