Esempio n. 1
0
        public void Map_AddNonObligated(bool isDcf)
        {
            // Arrange
            bool dcf     = true;
            var  request = new AddNonObligated()
            {
                CategoryValues = values,
                ReturnId       = returnId,
                Dcf            = dcf,
                OrganisationId = Guid.NewGuid()
            };

            // Act
            var response = mapper.Map(request, aatfReturn);

            // Assert
            Assert.Equal(request.CategoryValues.Count(), response.Count());
            foreach (var expected in request.CategoryValues)
            {
                var actual = response.FirstOrDefault(r => r.CategoryId == expected.CategoryId);
                Assert.NotNull(actual);
                Assert.Equal(expected.Tonnage, actual.Tonnage);
                Assert.Equal(dcf, actual.Dcf);
                Assert.Equal(aatfReturn, actual.Return);
            }
        }
        public async Task CanCreateNonObligatedWeeeEntry(bool dcf)
        {
            using (DatabaseWrapper database = new DatabaseWrapper())
            {
                var context = database.WeeeContext;

                var          name        = "Test Name" + Guid.NewGuid();
                var          tradingName = "Test Trading Name" + Guid.NewGuid();
                const string crn         = "ABC12345";

                var organisation = Organisation.CreateRegisteredCompany(name, crn, tradingName);
                context.Organisations.Add(organisation);

                await context.SaveChangesAsync();

                var quarter    = new Quarter(2019, QuarterType.Q1);
                var aatfReturn = new Return(organisation, quarter, database.Model.AspNetUsers.First().Id, FacilityType.Aatf);

                var categoryValues = new List <NonObligatedValue>();

                foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>())
                {
                    categoryValues.Add(new NonObligatedValue((int)category, (int)category, dcf, Guid.NewGuid()));
                }

                var nonObligatedRequest = new AddNonObligated
                {
                    ReturnId       = aatfReturn.Id,
                    OrganisationId = organisation.Id,
                    CategoryValues = categoryValues
                };

                var nonObligatedWee = new List <NonObligatedWeee>();

                foreach (var categoryValue in nonObligatedRequest.CategoryValues)
                {
                    nonObligatedWee.Add(new NonObligatedWeee(aatfReturn, categoryValue.CategoryId, categoryValue.Dcf, categoryValue.Tonnage));
                }

                var dataAccess = new NonObligatedDataAccess(database.WeeeContext);

                await dataAccess.Submit(nonObligatedWee);

                var thisTestNonObligatedWeeeArray =
                    context.NonObligatedWeee.Where(o => o.ReturnId == aatfReturn.Id).ToArray();

                Assert.NotNull(thisTestNonObligatedWeeeArray);
                Assert.NotEmpty(thisTestNonObligatedWeeeArray);

                foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>())
                {
                    var foundCategory = thisTestNonObligatedWeeeArray.FirstOrDefault(o => o.CategoryId == (int)category);
                    foundCategory.Should().NotBeNull();
                    var indexNum = (int)category - 1;
                    Assert.Equal(foundCategory.Dcf, nonObligatedWee[indexNum].Dcf);
                    Assert.Equal(foundCategory.Tonnage, nonObligatedWee[indexNum].Tonnage);
                    Assert.Equal(foundCategory.ReturnId, nonObligatedWee[indexNum].ReturnId);
                }
            }
        }
        public async void IndexPost_GivenValidViewModel_ApiSendShouldBeCalled()
        {
            var model   = new NonObligatedValuesViewModel(calculator);
            var request = new AddNonObligated();

            A.CallTo(() => requestCreator.ViewModelToRequest(model)).Returns(request);

            await controller.Index(model);

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, request)).MustHaveHappened(Repeated.Exactly.Once);
        }
        public async Task FetchNonObligatedWeeeForReturn_ReturnedListShouldContainAllTonnagesFromRequest(bool dcf)
        {
            using (var database = new DatabaseWrapper())
            {
                var helper       = new ModelHelper(database.Model);
                var domainHelper = new DomainHelper(database.WeeeContext);
                var context      = A.Fake <WeeeContext>();

                var @return = CreateReturn(database);

                var returnDataAccess = new ReturnDataAccess(database.WeeeContext);

                await returnDataAccess.Submit(@return);

                var categoryValues = new List <NonObligatedValue>();

                foreach (var category in Enum.GetValues(typeof(WeeeCategory)).Cast <WeeeCategory>())
                {
                    categoryValues.Add(new NonObligatedValue((int)category, (int)category, dcf, Guid.NewGuid()));
                }

                var nonObligatedRequest = new AddNonObligated()
                {
                    ReturnId       = @return.Id,
                    OrganisationId = @return.Organisation.Id,
                    Dcf            = dcf,
                    CategoryValues = categoryValues
                };

                var nonObligatedWee = new List <NonObligatedWeee>();

                foreach (var categoryValue in nonObligatedRequest.CategoryValues)
                {
                    nonObligatedWee.Add(new NonObligatedWeee(@return, categoryValue.CategoryId, dcf, categoryValue.Tonnage));
                }

                var nonObDataAccess = new NonObligatedDataAccess(database.WeeeContext);

                await nonObDataAccess.InsertNonObligatedWeee(@return.Id, nonObligatedWee);

                var dataAccess = new NonObligatedDataAccess(database.WeeeContext);

                var tonnageList = await dataAccess.FetchNonObligatedWeeeForReturn(@return.Id, dcf);

                foreach (var category in nonObligatedWee)
                {
                    tonnageList.Should().Contain(category.Tonnage);
                }
            }
        }
Esempio n. 5
0
 public IEnumerable <NonObligatedWeee> Map(AddNonObligated addMessage, Return aatfReturn)
 {
     return(GetFilteredValues(addMessage.CategoryValues)
            .Select(n => new NonObligatedWeee(aatfReturn, n.CategoryId, addMessage.Dcf, n.Tonnage)));
 }