Beispiel #1
0
        public void Generate_docs_with_contact_info()
        {
            //Arrange
            var module  = new FakeDocsModule(new DefaultRouteCacheProvider(() => new FakeRouteCache()));
            var contact = new FakeContact();

            //Act
            module.FillContact(contact.Name, contact.Email, contact.Url);

            var response = module.GetDocumentation();

            string body;

            using (var memoryStream = new MemoryStream())
            {
                response.Contents.Invoke(memoryStream);
                body = Encoding.UTF8.GetString(memoryStream.GetBuffer());
            }

            var spec = JsonConvert.DeserializeObject <OpenApiSpecification>(body);

            //Assert
            Assert.Equal(contact.Name, spec.Info.Contact.Name);
            Assert.Equal(contact.Email, spec.Info.Contact.Email);
            Assert.Equal(contact.Url, spec.Info.Contact.Url);
        }
Beispiel #2
0
        public void TestFromFakeContactReturnsNewContactWithPopulatedValues()
        {
            var fakeContact = new FakeContact
            {
                Address  = "123 main st.",
                Email    = "*****@*****.**",
                Alias    = "some_login",
                Company  = "Legal",
                Location = "New York",
                Name     = "Melissa Doe",
                Avatar   = "https://thisiswheremyavataris.com/myavatar.jpg",
                Phone    = "123-4567"
            };
            var contact = Mappings.FromFakeContact(fakeContact);

            Assert.IsNotNull(contact);
            Assert.AreEqual(fakeContact.Email, contact.EmailAddress);
            Assert.AreEqual(fakeContact.Address, contact.Address);
            Assert.AreEqual(fakeContact.Alias, contact.Alias);
            Assert.AreEqual(fakeContact.Company, contact.Company);
            Assert.AreEqual(fakeContact.Location, contact.Location);
            Assert.AreEqual(fakeContact.Name, contact.Name);
            Assert.AreEqual(fakeContact.Phone, contact.Phone);
            Assert.AreEqual(fakeContact.Avatar, contact.Thumbnail);
        }
Beispiel #3
0
        public void ShouldMergeCartsOnLogIn(bool persistent)
        {
            // Arrange
            var contactModel = new FakeContact();
            var contact      = new ContactContext(contactModel);
            var tracker      = Substitute.For <ITracker>();
            var testCart     = new Sitecore.Commerce.Entities.Carts.Cart();

            tracker.Contact.Returns(contact);

            var cartService = Substitute.For <ICartService>();

            cartService.GetCart().Returns(testCart);

            var customerProvider = Substitute.For <CustomerServiceProvider>();
            var accountService   = new AccountService(cartService, customerProvider);

            // Act
            using (new Switcher <ITracker, TrackerSwitcher>(tracker))
            {
                accountService.Login("user", "password", persistent);
            }

            // Assert
            cartService.Received().MergeCarts(testCart);
        }
Beispiel #4
0
 public static IContact FromFakeContact(FakeContact fakeContact)
 {
     return(new Contact
     {
         EmailAddress = fakeContact.Email,
         Address = fakeContact.Address,
         Alias = fakeContact.Alias,
         Company = fakeContact.Company,
         Location = fakeContact.Location,
         Name = fakeContact.Name,
         Phone = fakeContact.Phone,
         Thumbnail = fakeContact.Avatar
     });
 }
        public void ShouldNotSaveMergedCartUsingPublicApiIfAnonymousCartHasNoCartLines()
        {
            // Arrange
            var currentCart = new Cart {
                ShopName = "My", ExternalId = "GUID", Lines = new ReadOnlyCollectionAdapter <CartLine> {
                    new CartLine {
                        ExternalCartLineId = "1", Product = new CartProduct {
                            ProductId = "Audi"
                        }
                    }
                }
            };
            var cartAnonymous = new Cart {
                ShopName = "My"
            };

            this.cartServiceProvider.CreateOrResumeCart(Arg.Is <CreateOrResumeCartRequest>(r => r.UserId == "John Carter")).Returns(new CartResult {
                Cart = currentCart
            });
            this.cartServiceProvider.CreateOrResumeCart(Arg.Is <CreateOrResumeCartRequest>(r => r.UserId == ID.Parse(this.contactId).ToString())).Returns(new CartResult {
                Cart = cartAnonymous
            });

            var contactModel = new FakeContact();

            contactModel.Id = new ID(this.contactId);
            contactModel.Identifiers.Identifier = string.Empty;

            var contact = new ContactContext(contactModel);
            var tracker = Substitute.For <ITracker>();

            tracker.Contact.Returns(contact);

            var testCart = new Cart();

            // Act
            using (new Switcher <ITracker, TrackerSwitcher>(tracker))
            {
                this.service.MergeCarts(testCart);
            }

            // Assert
            this.cartServiceProvider.DidNotReceive().SaveCart(Arg.Is <SaveCartRequest>(r => r.Cart == currentCart));
        }