public async Task ShouldSaveNewApplicationWithApplicationEdOrgAssociationOnDistrictSpecificMode()
        {
            var odsInstanceName    = $"{Guid.NewGuid().ToString()}_255901";
            var hashConfigProvider = new Mock <IHashConfigurationProvider>();
            var instanceContext    = new InstanceContext {
                Id = 1, Name = odsInstanceName
            };
            var applicationName = $"{odsInstanceName}_{CloudsOdsAcademicBenchmarksConnectApp.ApplicationName}";

            hashConfigProvider.Setup(x => x.GetHashConfiguration()).Returns(new HashConfiguration
            {
                Algorithm  = "Test",
                Iterations = 1,
                SaltSize   = 256
            });

            var hashProvider = new Mock <ISecurePackedHashProvider>();

            hashProvider
            .Setup(x => x.ComputePackedHashString(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(),
                                                  It.IsAny <int>())).Returns("hashedTestValue");

            var secretConfigProvider = new Mock <IOdsSecretConfigurationProvider>();

            secretConfigProvider.Setup(x => x.GetSecretConfiguration(1)).ReturnsAsync(new OdsSecretConfiguration());

            await ScopedAsync <IUsersContext>(async usersContext =>
            {
                var service = new SetupAcademicBenchmarksConnectService(usersContext, hashProvider.Object,
                                                                        hashConfigProvider.Object, secretConfigProvider.Object, instanceContext);

                await service.CreateAcademicBenchmarksConnectAppInAdminDatabase(ApiMode.DistrictSpecific);

                usersContext.SaveChanges();
            });

            var newApplication = Transaction(usersContext =>
                                             usersContext
                                             .Applications
                                             .Include(x => x.ApplicationEducationOrganizations)
                                             .FirstOrDefault(x => x.ApplicationName == applicationName));

            newApplication.ShouldNotBeNull();
            newApplication.ApplicationEducationOrganizations.ShouldNotBeEmpty();
            newApplication.ApplicationEducationOrganizations.FirstOrDefault().ShouldNotBeNull();
            newApplication.ApplicationEducationOrganizations.First().EducationOrganizationId.ShouldBe(255901);
        }
Example #2
0
        public async Task ShouldSaveNewApplication()
        {
            var odsInstanceName    = $"TestInstance_{Guid.NewGuid().ToString()}";
            var hashConfigProvider = new Mock <IHashConfigurationProvider>();
            var instanceContext    = new InstanceContext {
                Id = 1, Name = odsInstanceName
            };
            var applicationName = $"{odsInstanceName}_{CloudsOdsAcademicBenchmarksConnectApp.ApplicationName}";

            hashConfigProvider.Setup(x => x.GetHashConfiguration()).Returns(new HashConfiguration
            {
                Algorithm  = "Test",
                Iterations = 1,
                SaltSize   = 256
            });

            var hashProvider = new Mock <ISecurePackedHashProvider>();

            hashProvider
            .Setup(x => x.ComputePackedHashString(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(),
                                                  It.IsAny <int>())).Returns("hashedTestValue");

            var secretConfigProvider = new Mock <IOdsSecretConfigurationProvider>();

            secretConfigProvider.Setup(x => x.GetSecretConfiguration(1)).ReturnsAsync(new OdsSecretConfiguration());

            var service = new SetupAcademicBenchmarksConnectService(TestContext, hashProvider.Object,
                                                                    hashConfigProvider.Object, secretConfigProvider.Object, instanceContext);

            await service.CreateAcademicBenchmarksConnectAppInAdminDatabase(ApiMode.SharedInstance);

            TestContext.SaveChanges();

            var newApplication = TestContext.Applications.FirstOrDefault(x =>
                                                                         x.ApplicationName == applicationName);

            newApplication.ShouldNotBeNull();
        }