示例#1
0
        public async Task SeedAsync(CancellationToken token = new CancellationToken())
        {
            ServiceContract.Require(!FulcrumApplication.IsInProductionOrProductionSimulation, "This method can\'t be called in production.");
            var taskList = new List <Task>();

            // Add some applicants
            var task = _capability.ApplicantService.CreateAsync(new Applicant {
                Name = "Johnny B. Goode"
            }, token);

            taskList.Add(task);
            task = _capability.ApplicantService.CreateAsync(new Applicant {
                Name = "Bad Cousin"
            }, token);
            taskList.Add(task);
            task = _capability.ApplicantService.CreateAsync(new Applicant {
                Name = "Willy Nilly"
            }, token);
            taskList.Add(task);
            await Task.WhenAll(taskList);

            // Add some approved members
            var id = await _capability.ApplicantService.CreateAsync(new Applicant { Name = "Donald Duck" }, token);

            await _capability.ApplicantService.ApproveAsync(id, token);

            id = await _capability.ApplicantService.CreateAsync(new Applicant { Name = "Mickey Mouse" }, token);

            await _capability.ApplicantService.ApproveAsync(id, token);
        }
示例#2
0
 public async Task ResetAsync(CancellationToken token = new CancellationToken())
 {
     ServiceContract.Require(!FulcrumApplication.IsInProductionOrProductionSimulation, "This method can\'t be called in production.");
     var t1 = _capability.MemberService.DeleteAllAsync(token);
     var t2 = _capability.ApplicantService.DeleteAllAsync(token);
     await Task.WhenAll(t1, t2);
 }
 public async Task <string> CreateAsync(Applicant item, CancellationToken token = new CancellationToken())
 {
     ServiceContract.RequireNotNull(item, nameof(item));
     ServiceContract.RequireValidated(item, nameof(item));
     ServiceContract.Require(item.Id == null, $"The {nameof(item.Id)} field must be null.");
     return(await Capability.ApplicantService.CreateAsync(item, token));
 }
示例#4
0
        public void FalseExpression()
        {
            const string message = "fail because expression is false";

            try
            {
                // ReSharper disable once ExpressionIsAlwaysNull
                ServiceContract.Require(() => false, message);
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail("An exception should have been thrown");
            }
            catch (FulcrumServiceContractException fulcrumException)
            {
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(fulcrumException.TechnicalMessage.Contains(message));
            }
            catch (Exception e)
            {
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail($"Expected a specific FulcrumException but got {e.GetType().FullName}.");
            }
        }
示例#5
0
        public void FalseParameterExpression()
        {
            const string parameterName = "parameterName";

            try
            {
                const int value = 23;
                // ReSharper disable once ExpressionIsAlwaysNull
                ServiceContract.Require(value, x => x != 23, parameterName);
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail("An exception should have been thrown");
            }
            catch (FulcrumServiceContractException fulcrumException)
            {
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(fulcrumException.TechnicalMessage.Contains(parameterName));
            }
            catch (Exception e)
            {
                Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail($"Expected a specific FulcrumException but got {e.GetType().FullName}.");
            }
        }
 public async Task DeleteAllAsync(CancellationToken token = new CancellationToken())
 {
     ServiceContract.Require(!FulcrumApplication.IsInProductionOrProductionSimulation, "This method can\'t be called in production.");
     await Capability.ApplicantService.DeleteAllAsync(token);
 }