Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/staging' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
daneryl committed Oct 20, 2024
2 parents e1ef2be + 0772851 commit 9fe0d5c
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,8 @@ export class RequestEntityTranslation {

async execute(entityInputModel: EntityInputModel | unknown) {
this.inputValidator.ensure(entityInputModel);
const atConfig = await this.ATConfigDS.get();
const atTemplateConfig = atConfig.templates.find(
t => t.template === entityInputModel.template?.toString()
);

const languageFrom = entityInputModel.language;
const languagesTo = atConfig.languages.filter(
language => language !== entityInputModel.language
);
const entity = Entity.fromInputModel(entityInputModel);
const { atTemplateConfig, languagesTo, atConfig, languageFrom } = await this.getConfig(entity);

if (
!atTemplateConfig ||
Expand All @@ -64,7 +57,6 @@ export class RequestEntityTranslation {
return;
}

const entity = Entity.fromInputModel(entityInputModel);
let updatedEntities = (await this.entitiesDS.getByIds([entity.sharedId]).all()).filter(
e => e.language !== languageFrom
);
Expand Down Expand Up @@ -105,4 +97,15 @@ export class RequestEntityTranslation {
})
);
}

private async getConfig(entity: Entity) {
const atConfig = await this.ATConfigDS.get();
const atTemplateConfig = atConfig.templates.find(
t => t.template === entity.template?.toString()
);

const languageFrom = entity.language;
const languagesTo = atConfig.languages.filter(language => language !== entity.language);
return { atTemplateConfig, languagesTo, atConfig, languageFrom };
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { DefaultTransactionManager } from 'api/common.v2/database/data_source_defaults';
import { EntityCreatedEvent } from 'api/entities/events/EntityCreatedEvent';
import { EventsBus } from 'api/eventsbus';
import { permissionsContext } from 'api/permissions/permissionsContext';
import { AutomaticTranslationFactory } from '../../AutomaticTranslationFactory';
import { DefaultTransactionManager } from 'api/common.v2/database/data_source_defaults';

export class ATEntityCreationListener {
private eventBus: EventsBus;
Expand All @@ -24,7 +23,6 @@ export class ATEntityCreationListener {
).get();

if (active) {
permissionsContext.setCommandContext();
const entityFrom = event.entities.find(e => e.language === event.targetLanguageKey) || {};

entityFrom._id = entityFrom._id?.toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ import { EntityCreatedEvent } from 'api/entities/events/EntityCreatedEvent';
import { EventsBus } from 'api/eventsbus';
import { AutomaticTranslationFactory } from 'api/externalIntegrations.v2/automaticTranslation/AutomaticTranslationFactory';
import { RequestEntityTranslation } from 'api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation';
import { permissionsContext } from 'api/permissions/permissionsContext';
import { tenants } from 'api/tenants';
import { appContext } from 'api/utils/AppContext';
import { getFixturesFactory } from 'api/utils/fixturesFactory';
import { testingEnvironment } from 'api/utils/testingEnvironment';
import { UserSchema } from 'shared/types/userType';
import { ATEntityCreationListener } from '../ATEntityCreationListener';

const factory = getFixturesFactory();
Expand All @@ -32,17 +30,14 @@ describe('ATEntityCreationListener', () => {
let listener: ATEntityCreationListener;
const eventBus: EventsBus = new EventsBus();
let executeSpy: jest.Mock<any, any, any>;
let userInContext: UserSchema | undefined = {} as UserSchema;

beforeEach(async () => {
await testingEnvironment.setUp({
settings: [{ features: { automaticTranslation: { active: false } } }],
});
await testingEnvironment.setTenant('tenant');

executeSpy = jest.fn().mockImplementation(() => {
userInContext = permissionsContext.getUserInContext();
});
executeSpy = jest.fn().mockImplementation(() => {});

listener = new ATEntityCreationListener(eventBus, prepareATFactory(executeSpy));
listener.start();
Expand Down Expand Up @@ -88,10 +83,6 @@ describe('ATEntityCreationListener', () => {
it('should execute RequestEntityTranslation on receiving entity creation event', async () => {
expect(executeSpy).toHaveBeenCalledWith(entityEn);
});

it('should execute RequestEntityTranslation with commandUser as its context user', async () => {
expect(userInContext).toBe(permissionsContext.commandUser);
});
});
});
});
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "uwazi",
"version": "1.189.0-rc8",
"version": "1.189.0-rc9",
"description": "Uwazi is a free, open-source solution for organising, analysing and publishing your documents.",
"keywords": [
"react"
Expand Down

0 comments on commit 9fe0d5c

Please sign in to comment.