Example #1
0
        public async Task Will_Allow_Same_Label_Between_Tenants()
        {
            var expectedTemplateDetails = new ExpectedTemplateDetails()
            {
                TemplateId              = Guid.Empty,
                Label                   = _request.TemplateLabel,
                TemplateKindKey         = _request.TemplateKindKey,
                CurrentVersionContent   = _request.Content,
                CurrentVersionId        = Guid.Empty,
                CurrentVersion          = 1,
                CurrentVersionCreatedAt = ApiFactory.UtcNow
            };

            Authorize(Guid.NewGuid(), Tenant1Id, Array.Empty <string>(), new[] { Permissions.ManageTemplates });
            var uri1 = await _client.AddNewTemplate(_request);

            var createdTemplate1 = await _client.Get(Guid.Parse(uri1.Segments[3]));

            createdTemplate1.TemplateId.Should().Be(Guid.Parse(uri1.Segments[3]));
            createdTemplate1.CurrentVersionId.Should().NotBe(Guid.Empty);
            createdTemplate1.Should().BeEquivalentTo(
                expectedTemplateDetails,
                options => options.Excluding(o => o.TemplateId).Excluding(o => o.CurrentVersionId));

            Authorize(Guid.NewGuid(), Tenant2Id, Array.Empty <string>(), new[] { Permissions.ManageTemplates });
            var uri2 = await _client.AddNewTemplate(_request);

            var createdTemplate2 = await _client.Get(Guid.Parse(uri2.Segments[3]));

            createdTemplate2.TemplateId.Should().Be(Guid.Parse(uri2.Segments[3]));
            createdTemplate2.CurrentVersionId.Should().NotBe(Guid.Empty);
            createdTemplate2.Should().BeEquivalentTo(
                expectedTemplateDetails,
                options => options.Excluding(o => o.TemplateId).Excluding(o => o.CurrentVersionId));
        }
Example #2
0
        public async Task Will_Return_TemplateDetails()
        {
            Authorize(Guid.NewGuid(), Tenant1Id, Array.Empty <string>(), Array.Empty <string>());

            var expectedDetails = ExpectedTemplateDetails.From(Templates.Tenant1FirstInvoiceTemplate);
            var receivedDetails = await _client.Get(expectedDetails.TemplateId);

            receivedDetails.Should().BeEquivalentTo(expectedDetails);
        }
        public async Task Will_Return_Default_Template()
        {
            var expectedDetails1 = ExpectedTemplateDetails.From(Templates.Tenant1FirstInvoiceTemplate);
            var expectedDetails2 = ExpectedTemplateDetails.From(Templates.Tenant2FirstInvoiceTemplate);

            Authorize(Guid.NewGuid(), Tenant1Id, Array.Empty <string>(), Array.Empty <string>());
            var receivedDetails1 = await _client.GetDefaultTemplate(_templateKindKey);

            Authorize(Guid.NewGuid(), Tenant2Id, Array.Empty <string>(), Array.Empty <string>());
            var receivedDetails2 = await _client.GetDefaultTemplate(_templateKindKey);

            receivedDetails1.Should().BeEquivalentTo(expectedDetails1);
            receivedDetails2.Should().BeEquivalentTo(expectedDetails2);
        }