public async Task Given_OrganisationName_Not_Registered_When_Call_RegisterOrganisationAsync_ShouldReturns_OrganisationInstance_With_ScheMap_Property_Not_Null(string organisationName)
        {
            var requestOrganisation = new DataContracts.OrganisationRegistration {
                Name = organisationName
            };
            var moqRepository = new Mock <IOrganisationRepository>();

            moqRepository
            .Setup(o => o.ExistsByAsync(It.IsAny <Expression <Func <Organisation, bool> > >()))
            .ReturnsAsync(false)
            .Verifiable();
            moqRepository
            .Setup(o => o.AddAsync(It.IsAny <Organisation>()))
            .ReturnsAsync(new Organisation {
                Name = organisationName
            })
            .Verifiable();

            var service         = new Application.OrganisationService(moqRepository.Object);
            var newOrganisation = await service.RegisterAsync(requestOrganisation);

            moqRepository.VerifyAll();

            Assert.NotNull(newOrganisation);
            Assert.Equal(organisationName, newOrganisation.Name);
        }
Esempio n. 2
0
        public async Task Given_OrganisationName_Registered_When_Call_UpdateOrganisationAsync_ShouldReturns_Updated_Organisation(string organisationName)
        {
            var requestOrganisation = new DataContracts.Organisation {
                Name = organisationName
            };
            var moqRepository = new Mock <IOrganisationRepository>();

            moqRepository
            .Setup(o => o.ExistsByAsync(It.IsAny <Expression <Func <Organisation, bool> > >()))
            .Returns(Task.FromResult(true))
            .Verifiable();
            moqRepository
            .Setup(o => o.UpdateAsync(It.IsAny <Organisation>()))
            .ReturnsAsync(new Organisation {
                Name = organisationName
            })
            .Verifiable();

            var service      = new Application.OrganisationService(moqRepository.Object);
            var organisation = await service.UpdateAsync(requestOrganisation);

            moqRepository.VerifyAll();
            Assert.NotNull(organisation);
            Assert.Equal(requestOrganisation.Name, organisation.Name);
        }
        public async Task Given_OrganisationName_Registered_When_Call_DeleteByOrganisationNameAsync_ShouldReturns_Null(string organisationName)
        {
            var moqRepository = new Mock <IOrganisationRepository>();

            moqRepository
            .Setup(o => o.DeleteAsync(It.IsAny <Expression <Func <Organisation, bool> > >()))
            .Returns(Task.FromResult(false))
            .Verifiable();

            var service = new Application.OrganisationService(moqRepository.Object);
            await service.DeleteByOrganisationNameAsync(organisationName);

            moqRepository.Verify();
        }
Esempio n. 4
0
        public async Task Given_OrganisationName_Not_Registered_When_Call_GetByOrganisationNameAsync_ShouldReturns_Null(string organisationName)
        {
            var moqRepository = new Mock <IOrganisationRepository>();

            moqRepository
            .Setup(o => o.GetByAsync(It.IsAny <Expression <Func <Organisation, bool> > >()))
            .Verifiable();

            var service      = new Application.OrganisationService(moqRepository.Object);
            var organisation = await service.GetByOrganisationNameAsync(organisationName);

            moqRepository.Verify();
            Assert.Null(organisation);
        }
        public async Task Given_OrganisationName_Registered_When_Call_RegisterOrganisationAsync_ShouldReturns_NameAlreadyUsedException(string organisationName)
        {
            var requestOrganisation = new DataContracts.OrganisationRegistration {
                Name = organisationName
            };
            var moqRepository = new Mock <IOrganisationRepository>();

            moqRepository
            .Setup(o => o.ExistsByAsync(It.IsAny <Expression <Func <Organisation, bool> > >()))
            .ReturnsAsync(true)
            .Verifiable();

            var service = new Application.OrganisationService(moqRepository.Object);

            moqRepository.Verify(o => o.AddAsync(It.IsAny <Organisation>()), Times.Never);
            await Assert.ThrowsAsync <NameAlreadyUsedException>(() => service.RegisterAsync(requestOrganisation));
        }