Example #1
0
        public async Task TestIfQueryShipmentsReturnsCorrectResultAddress()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await context.Shipments.AddAsync(new Shipment
            {
                Id   = 123,
                User = new User
                {
                    FirstName = "Spas",
                    LastName  = "Spas",
                    Address   = "random address"
                }
            });

            await context.SaveChangesAsync();

            var model = new ShipmentManagerIndexModel();

            model.Address = "random address";

            var result = await shipmentManager.QueryShipmentsAsync(model);

            Assert.NotEmpty(result);

            Assert.Contains(result, x => x.Id == 123);
        }
Example #2
0
        public async Task TestIfAddActivityToShipmentReturnsCorrectResult(int shipmentId, string username)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);


            await context.Shipments.AddAsync(new Shipment
            {
                Id         = shipmentId,
                Activities = new List <Activity>(),
            });

            await context.SaveChangesAsync();

            var form = new ActivityViewModel();

            form.OwnerName    = username;
            form.Description  = "Description";
            form.CreationDate = DateTime.UtcNow;
            form.ActivityType = ActivityType.Issue;

            var result = await shipmentManager.AddActivityToShipmentAsync(shipmentId, form, username);

            Assert.NotNull(result);
        }
Example #3
0
        public async Task TestIfGetShipmentsReturnsEmptyCollection(int page)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            Assert.Empty(await shipmentManager.GetShipmentsAsync(page));
        }
Example #4
0
        public async Task TestIfGetShipmentReturnsNull(int id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            var result = await shipmentManager.GetShipmentAsync(id);

            Assert.Null(result);
        }
Example #5
0
        public async Task TestIfQueryShipmentsReturnsEmptyResult()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            var model = new ShipmentManagerIndexModel();

            var result = await shipmentManager.QueryShipmentsAsync(model);

            Assert.Empty(result);
        }
Example #6
0
        public async Task TestIfAddActivityToShipmentReturnsNull(int shipmentId, string username)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            var model = new ActivityViewModel();

            var result = await shipmentManager.AddActivityToShipmentAsync(shipmentId, model, username);

            Assert.Null(result);
        }
Example #7
0
        public async Task TestIfEditActivityThrowsError(string id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await Assert.ThrowsAsync <NullReferenceException>(async() =>
            {
                var form = new ActivityViewModel();
                form.Id  = id;
                await shipmentManager.EditActivityAsync(form);
            });
        }
Example #8
0
        public async Task TestIfEditShipmentThrowsError(int id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);


            await Assert.ThrowsAsync <NullReferenceException>(async() =>
            {
                var form = new ShipmentViewModel();

                await shipmentManager.EditShipmentAsync(id, form);
            });
        }
Example #9
0
        public async Task TestIfGetShipmentsReturnsCorrectResults(int id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await context.Shipments.AddAsync(new Shipment
            {
                Id = id,
            });

            await context.SaveChangesAsync();

            Assert.NotEmpty(await shipmentManager.GetShipmentsAsync(1));
        }
Example #10
0
        public async Task TestIfTotalNumberOfShipmentsReturnsCorrectResult(int id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            Assert.Equal(0, shipmentManager.TotalNumberOfShipments());
            await context.Shipments.AddAsync(new Shipment
            {
                Id = id,
            });

            await context.SaveChangesAsync();

            Assert.Equal(1, shipmentManager.TotalNumberOfShipments());
        }
Example #11
0
        public async Task TestIfShipmentExists(int existingShipment, int nonExistingShipment)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await context.Shipments.AddAsync(new Shipment
            {
                Id = existingShipment,
            });

            await context.SaveChangesAsync();

            Assert.True(await shipmentManager.ShipmentExistsAsync(existingShipment));
            Assert.False(await shipmentManager.ShipmentExistsAsync(nonExistingShipment));
        }
Example #12
0
        public async Task TestIfEditShipmentWorksAccordingly(int id)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await context.Shipments.AddAsync(new Shipment
            {
                Id                       = id,
                ReceivedOn               = DateTime.Now,
                ShipmentCoveredBy        = "Someone",
                ShipmentDetails          = ShipmentDetails.Send,
                ShipmentImportancy       = ShipmentImportancy.Urgent,
                ShipmentStatus           = ShipmentStatus.Rejected,
                ShippingCompanyDetails   = string.Empty,
                ConfirmationStatus       = ConfirmationStatus.AwaitingResponse,
                ClientResponse           = ClientResponse.AwaitingResponse,
                DeliveryConfirmationDate = DateTime.Now,
            });

            await context.SaveChangesAsync();

            var form = new ShipmentViewModel();

            form.ReceivedOn               = DateTime.Now;
            form.ShipmentCoveredBy        = "Us";
            form.ShipmentDetails          = ShipmentDetails.Send;
            form.ShipmentImportancy       = ShipmentImportancy.Normal;
            form.ShipmentStatus           = ShipmentStatus.Confirmed;
            form.ShippingCompanyDetails   = "";
            form.ConfirmationStatus       = ConfirmationStatus.Confirmed;
            form.ClientResponse           = ClientResponse.Confirmed;
            form.DeliveryConfirmationDate = DateTime.UtcNow;

            await shipmentManager.EditShipmentAsync(id, form);

            var result = await context.Shipments.FirstOrDefaultAsync(x => x.Id == id);

            Assert.NotNull(result);

            Assert.Equal(ShipmentStatus.Confirmed, result.ShipmentStatus);
            Assert.Equal("Us", result.ShipmentCoveredBy);
        }
Example #13
0
        public async Task TestIfEditActivityWorksAccordingly(int shipmentId, string username)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);


            await context.Shipments.AddAsync(new Shipment
            {
                Id         = shipmentId,
                Activities = new List <Activity>(),
                CreatedOn  = DateTime.Now,
            });

            await context.SaveChangesAsync();

            var form = new ActivityViewModel();

            form.OwnerName    = username;
            form.Description  = "Description";
            form.CreationDate = DateTime.UtcNow;
            form.ActivityType = ActivityType.Issue;

            var activityId = await shipmentManager.AddActivityToShipmentAsync(shipmentId, form, username);

            var editActivityForm = new ActivityViewModel();

            editActivityForm.Id             = activityId;
            editActivityForm.ActivityType   = (ActivityType)form.ActivityType;
            editActivityForm.ActivityClosed = form.ActivityClosed;
            editActivityForm.Description    = "randomDescription";
            editActivityForm.CreationDate   = DateTime.UtcNow;

            await shipmentManager.EditActivityAsync(editActivityForm);

            var editedActivity = await context.Activities.FirstOrDefaultAsync(x => x.Id == activityId);

            Assert.Equal("randomDescription", editedActivity.Description);
        }
Example #14
0
        public async Task TestIfQueryShipmentsReturnsCorrectResultId()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var shipmentManager = new ShipmentManagerServices(context);

            await context.Shipments.AddAsync(new Shipment
            {
                Id = 123,
            });

            await context.SaveChangesAsync();

            var model = new ShipmentManagerIndexModel();

            model.Id = 123;

            var result = await shipmentManager.QueryShipmentsAsync(model);

            Assert.NotEmpty(result);

            Assert.Contains(result, x => x.Id == 123);
        }